<?xml version="1.0" encoding="utf-8"?>
<MutationTestingReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SourceFiles>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\MutationTest.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="309" StartColumn="33" EndLine="309" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0002: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: read substitution TypeDefinition.type =&gt; TypeDefinition.nestedType</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="309" StartColumn="19" EndLine="309" EndColumn="29">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0038: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="310" StartColumn="38" EndLine="310" EndColumn="62">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0041: deleting Ldloc, Callvirt, Callvirt, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0041: deleting Ldloc, Callvirt, Callvirt, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="310" StartColumn="19" EndLine="310" EndColumn="34">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0058: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="312" StartColumn="14" EndLine="315" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0061: deleting Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0061: deleting Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0071: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0071: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0095: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0095: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0095: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b1: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b1: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0071: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b1: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="317" StartColumn="18" EndLine="317" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00b7: deleting Ldloc, Callvirt, Castclass, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="318" StartColumn="18" EndLine="319" EndColumn="70">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00c3: deleting Ldarg, Ldfld, Ldloc, Ldarg, Callvirt, Brfalse, Ldarg, Ldloc, Ldarg, Ldfld, Call, Br, Ldc_I4, Stloc, Ldloc, Brtrue, Ldnull, Stloc, Ldnull, Stloc, Newobj, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c3: deleting Ldarg, Ldfld, Ldloc, Ldarg, Callvirt, Brfalse, Ldarg, Ldloc, Ldarg, Ldfld, Call, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d0: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d0: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e6: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e6: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d0: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e6: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ca: read substitution MethodReference.targetMethod =&gt; MethodReference.reference</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c9: read substitution MethodReference.reference =&gt; MethodReference.targetMethod</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="322" StartColumn="25" EndLine="322" EndColumn="96">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0101: deleting Ldloc, Ldsfld, Ldarg, Callvirt, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0108: read substitution TypeDefinition.type =&gt; TypeDefinition.nestedType</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="310" StartColumn="35" EndLine="310" EndColumn="37">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>019b: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a6: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a6: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a6: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="333" StartColumn="40" EndLine="333" EndColumn="56">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01e5: deleting Ldarg, Callvirt, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e5: deleting Ldarg, Callvirt, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e5: read substitution TypeDefinition.type =&gt; TypeDefinition.nestedType</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="323" StartColumn="25" EndLine="323" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0118: deleting Ldloc, Ldfld, Callvirt, Brfalse, Ldarg, Callvirt, Ldnull, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0118: deleting Ldloc, Ldfld, Callvirt, Brfalse, Ldarg, Callvirt, Ldnull, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0136: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0124: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0124: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0136: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0124: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0136: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0126: read substitution TypeDefinition.type =&gt; TypeDefinition.nestedType</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="321" StartColumn="25" EndLine="321" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00f8: deleting Ldarg, Ldloc, Ldarg, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="333" StartColumn="22" EndLine="333" EndColumn="36">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01f4: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="325" StartColumn="29" EndLine="325" EndColumn="102">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0139: deleting Ldarg, Callvirt, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0139: deleting Ldarg, Callvirt, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0145: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0145: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0164: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0164: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0164: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0145: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0139: read substitution TypeDefinition.type =&gt; TypeDefinition.nestedType</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="327" StartColumn="33" EndLine="327" EndColumn="132">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0167: deleting Ldarg, Ldarg, Callvirt, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Ldarg, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0175: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0175: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0175: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0168: read substitution TypeDefinition.type =&gt; TypeDefinition.nestedType</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="309" StartColumn="30" EndLine="309" EndColumn="32">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01bd: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01bd: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01bd: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c8: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c8: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c8: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01d8: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01d8: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01d8: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="335" StartColumn="17" EndLine="335" EndColumn="85">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01fe: deleting Ldarg, Ldarg, Ldarg, Ldloc, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0201: read substitution TypeDefinition.nestedType =&gt; TypeDefinition.type</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ff: read substitution MethodReference.targetMethod =&gt; MethodReference.reference</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="333" StartColumn="37" EndLine="333" EndColumn="39">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>020a: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>020a: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>020a: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0215: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0215: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0215: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="358" StartColumn="4" EndLine="358" EndColumn="69">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Ldarg, Ldarg, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0009: write substitution Boolean.testProcessFailed =&gt; Boolean.CS$4$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="359" StartColumn="4" EndLine="359" EndColumn="27">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000a: deleting Ldloc, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000a: deleting Ldloc, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000b: write substitution Boolean.CS$4$0000 =&gt; Boolean.testProcessFailed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000a: read substitution Boolean.testProcessFailed =&gt; Boolean.CS$4$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: read substitution Boolean.CS$4$0000 =&gt; Boolean.testProcessFailed</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="361" StartColumn="5" EndLine="361" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0010: deleting Ldarg, Call, Pop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="363" StartColumn="4" EndLine="363" EndColumn="37">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0018: deleting Ldarg, Call, Pop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="81" StartColumn="7" EndLine="81" EndColumn="116">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0010: deleting Ldsfld, Ldstr, Ldc_I4, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="86" StartColumn="4" EndLine="86" EndColumn="47">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0048: deleting Ldarg, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="7" EndLine="89" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>005b: deleting Ldarg, Newobj, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="90" StartColumn="13" EndLine="90" EndColumn="63">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0066: deleting Newobj, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="91" StartColumn="13" EndLine="91" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>006c: deleting Ldarg, Ldloc, Ldloc, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="93" StartColumn="13" EndLine="93" EndColumn="94">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0075: deleting Ldloc, Callvirt, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0085: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0085: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0085: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="95" StartColumn="13" EndLine="95" EndColumn="77">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00b6: deleting Ldarg, Ldarg, Ldloc, Ldloc, Ldc_I4, Call, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="94" StartColumn="7" EndLine="94" EndColumn="45">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ab: deleting Ldarg, Newobj, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="31" EndLine="102" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00f4: deleting Ldarg, Ldfld, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f4: deleting Ldarg, Ldfld, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="82" StartColumn="13" EndLine="82" EndColumn="81">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0021: deleting Ldloc, Ldstr, Ldnull, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="83" StartColumn="13" EndLine="83" EndColumn="77">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002e: deleting Ldloc, Ldstr, Ldc_I4, Box, Ldc_I4, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="87" StartColumn="13" EndLine="87" EndColumn="44">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004f: deleting Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="84" StartColumn="7" EndLine="84" EndColumn="19">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0041: deleting Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="4" EndLine="99" EndColumn="18">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00c5: deleting Ldloc, Ldc_I4, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="13" EndLine="102" EndColumn="27">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0103: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: deleting Ldloc, Callvirt, Stloc, Newobj, Stloc, Ldloc, Ldloc, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="100" StartColumn="4" EndLine="100" EndColumn="21">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00cd: deleting Ldloc, Ldc_I4, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="101" StartColumn="4" EndLine="101" EndColumn="37">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00d5: deleting Ldarg, Ldfld, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d5: deleting Ldarg, Ldfld, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ea: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ea: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ea: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="101" StartColumn="38" EndLine="101" EndColumn="63">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ec: deleting Ldarg, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="104" StartColumn="17" EndLine="104" EndColumn="85">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>011d: deleting Ldloc, Ldloc, Call, Castclass, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="105" StartColumn="17" EndLine="106" EndColumn="83">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0130: deleting Ldloc, Ldfld, Ldloc, Ldarg, Ldfld, Ldloc, Callvirt, Ldloc, Ldftn, Newobj, Call, Pop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="28" EndLine="102" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0159: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0159: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0159: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0164: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0164: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0164: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0171: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0171: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0171: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="112" StartColumn="13" EndLine="112" EndColumn="118">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01a2: deleting Ldsfld, Ldstr, Ldc_I4, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="109" StartColumn="13" EndLine="109" EndColumn="44">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>017d: deleting Ldarg, Ldfld, Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="110" StartColumn="13" EndLine="110" EndColumn="70">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>018a: deleting Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="113" StartColumn="13" EndLine="113" EndColumn="45">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01b3: deleting Ldloc, Ldnull, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b3: deleting Ldloc, Ldnull, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01be: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01be: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01be: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="123" StartColumn="4" EndLine="123" EndColumn="19">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01e7: deleting Ldloc, Ldfld, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e7: deleting Ldloc, Ldfld, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f8: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f8: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f8: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="125" StartColumn="5" EndLine="125" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01fb: deleting Ldstr, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="121" StartColumn="13" EndLine="121" EndColumn="25">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01e0: deleting Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="119" StartColumn="17" EndLine="119" EndColumn="99">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01d1: deleting Ldloc, Ldstr, Ldloc, Ldc_I4, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="115" StartColumn="17" EndLine="115" EndColumn="56">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01c1: deleting Ldloc, Ldstr, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="128" StartColumn="4" EndLine="128" EndColumn="21">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0208: deleting Ldloc, Ldfld, Ldc_I4, Cgt, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0208: deleting Ldloc, Ldfld, Ldc_I4, Cgt, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0210: Cgt =&gt; not Clt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0219: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0219: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0219: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="130" StartColumn="5" EndLine="130" EndColumn="46">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>021c: deleting Newobj, Throw</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="126" StartColumn="5" EndLine="126" EndColumn="12">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0206: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="116" StartColumn="13" EndLine="116" EndColumn="14">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01cd: deleting Nop, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="195" StartColumn="13" EndLine="198" EndColumn="87">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0012: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0012: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006d: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0012: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006d: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006d: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0001: read substitution MethodDefinition.first =&gt; MethodDefinition.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution MethodDefinition.second =&gt; MethodDefinition.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: read substitution MethodDefinition.first =&gt; MethodDefinition.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: read substitution MethodDefinition.second =&gt; MethodDefinition.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>003e: read substitution MethodDefinition.second =&gt; MethodDefinition.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006f: read substitution MethodDefinition.first =&gt; MethodDefinition.second</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="199" StartColumn="9" EndLine="199" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="203" StartColumn="13" EndLine="203" EndColumn="57">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Newobj, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="204" StartColumn="34" EndLine="204" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="204" StartColumn="22" EndLine="204" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0020: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="205" StartColumn="13" EndLine="205" EndColumn="81">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0028: deleting Ldarg, Ldarg, Ldarg, Ldarg, Ldloc, Ldloc, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002b: read substitution Boolean.force =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="204" StartColumn="31" EndLine="204" EndColumn="33">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0034: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>003f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>003f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>003f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>003d: read substitution Boolean.CS$4$0002 =&gt; Boolean.force</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="210" StartColumn="13" EndLine="210" EndColumn="35">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0077: deleting Ldloc, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0077: deleting Ldloc, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0087: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0087: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0087: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0085: read substitution Boolean.CS$4$0002 =&gt; Boolean.force</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="206" StartColumn="13" EndLine="206" EndColumn="45">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0053: deleting Ldarg, Brtrue, Ldloc, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0053: deleting Ldarg, Brtrue, Ldloc, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0069: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0069: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0069: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0067: read substitution Boolean.CS$4$0002 =&gt; Boolean.force</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0053: read substitution Boolean.force =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="208" StartColumn="17" EndLine="208" EndColumn="88">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>006c: deleting Ldarg, Ldarg, Ldarg, Ldc_I4, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="212" StartColumn="17" EndLine="213" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>008a: deleting Ldstr, Newobj, Throw</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="215" StartColumn="13" EndLine="215" EndColumn="27">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="216" StartColumn="6" EndLine="216" EndColumn="7">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="254" StartColumn="38" EndLine="254" EndColumn="62">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0019: deleting Ldarg, Callvirt, Callvirt, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0019: deleting Ldarg, Callvirt, Callvirt, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="254" StartColumn="19" EndLine="254" EndColumn="34">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0030: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="256" StartColumn="14" EndLine="259" EndColumn="57">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0039: deleting Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0039: deleting Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Brtrue, Ldloc, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005b: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005b: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0089: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0089: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005b: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0089: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0087: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0087: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="261" StartColumn="18" EndLine="261" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>008f: deleting Ldloc, Callvirt, Castclass, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="262" StartColumn="18" EndLine="262" EndColumn="62">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009b: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="269" StartColumn="18" EndLine="269" EndColumn="42">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00cd: deleting Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00cd: deleting Ldloc, Ldnull, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d2: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d2: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d6: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d6: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d6: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d4: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d4: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="278" StartColumn="18" EndLine="278" EndColumn="44">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0116: deleting Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0116: deleting Ldloc, Ldnull, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>011b: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>011b: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>011f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>011f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>011f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>011d: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>011d: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="287" StartColumn="14" EndLine="287" EndColumn="55">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0155: deleting Ldloc, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0155: deleting Ldloc, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0168: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0168: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016a: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016a: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="289" StartColumn="18" EndLine="289" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>016f: deleting Ldloc, Callvirt, Castclass, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="253" StartColumn="10" EndLine="253" EndColumn="32">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0016: deleting Ldc_I4, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="290" StartColumn="18" EndLine="290" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>017c: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="265" StartColumn="22" EndLine="265" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00be: deleting Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bf: write substitution Boolean.typeUsed =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bf: write substitution Boolean.typeUsed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="263" StartColumn="18" EndLine="263" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a2: deleting Ldloc, Callvirt, Ldloc, Ldfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a2: deleting Ldloc, Callvirt, Ldloc, Ldfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b7: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b7: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bb: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bb: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bb: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b9: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b9: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="266" StartColumn="22" EndLine="266" EndColumn="28">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00c0: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="254" StartColumn="35" EndLine="254" EndColumn="37">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01a6: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a6: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a6: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ad: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ad: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b1: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b1: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b1: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01af: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01af: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="291" StartColumn="18" EndLine="291" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0184: deleting Ldloc, Callvirt, Ldloc, Ldfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0184: deleting Ldloc, Callvirt, Ldloc, Ldfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0199: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0199: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="268" StartColumn="18" EndLine="268" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00c5: deleting Ldloc, Isinst, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="271" StartColumn="22" EndLine="271" EndColumn="90">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00d9: deleting Ldloc, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d9: deleting Ldloc, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ff: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ff: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e2: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e2: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e2: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0101: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0101: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="274" StartColumn="26" EndLine="274" EndColumn="32">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0108: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="273" StartColumn="26" EndLine="273" EndColumn="42">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0106: deleting Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0107: write substitution Boolean.typeUsed =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0107: write substitution Boolean.typeUsed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="293" StartColumn="22" EndLine="293" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01a0: deleting Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a1: write substitution Boolean.typeUsed =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a1: write substitution Boolean.typeUsed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="283" StartColumn="26" EndLine="283" EndColumn="32">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0151: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="280" StartColumn="22" EndLine="280" EndColumn="92">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0122: deleting Ldloc, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0122: deleting Ldloc, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0148: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0148: write substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012b: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012b: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012b: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014a: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014a: read substitution Boolean.CS$4$0002 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="277" StartColumn="18" EndLine="277" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>010e: deleting Ldloc, Isinst, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="282" StartColumn="26" EndLine="282" EndColumn="42">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>014f: deleting Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0150: write substitution Boolean.typeUsed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0150: write substitution Boolean.typeUsed =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="294" StartColumn="22" EndLine="294" EndColumn="28">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01a2: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="298" StartColumn="10" EndLine="298" EndColumn="26">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01c9: write substitution Boolean.CS$1$0000 =&gt; Boolean.typeUsed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c9: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c8: read substitution Boolean.typeUsed =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c8: read substitution Boolean.typeUsed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="299" StartColumn="6" EndLine="299" EndColumn="7">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="398" StartColumn="13" EndLine="398" EndColumn="72">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Ldarg, Callvirt, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="400" StartColumn="13" EndLine="400" EndColumn="29">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000e: deleting Ldloc, Callvirt, Pop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="411" StartColumn="4" EndLine="411" EndColumn="5">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0041: deleting Nop, Leave</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="401" StartColumn="10" EndLine="401" EndColumn="57">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0015: deleting Ldloc, Ldc_I4, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0020: write substitution Boolean.exitedInTime =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0020: write substitution Boolean.exitedInTime =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0020: write substitution Boolean.exitedInTime =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="421" StartColumn="13" EndLine="421" EndColumn="109">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0073: deleting Ldarg, Ldfld, Ldarg, Ldarg, Callvirt, Callvirt, Ldarg, Ldloc, Ldc_I4, Ceq, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0086: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0086: read substitution Boolean.testSuitePassed =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0086: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="416" StartColumn="13" EndLine="420" EndColumn="37">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0052: deleting Ldstr, Ldarg, Callvirt, Ldloc, Brtrue, Ldstr, Br, Ldstr, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005e: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005e: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005e: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005d: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005d: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005d: read substitution Boolean.testSuitePassed =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="414" StartColumn="13" EndLine="414" EndColumn="66">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004a: deleting Ldloc, Brtrue, Ldloc, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004d: read substitution Boolean.exitedInTime =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004d: read substitution Boolean.exitedInTime =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004d: read substitution Boolean.exitedInTime =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="402" StartColumn="4" EndLine="402" EndColumn="22">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0021: deleting Ldc_I4, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="406" StartColumn="5" EndLine="406" EndColumn="23">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0024: deleting Ldloc, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: deleting Ldloc, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0025: write substitution Boolean.CS$4$0001 =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0025: write substitution Boolean.CS$4$0001 =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0025: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0029: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0029: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0029: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution Boolean.CS$4$0001 =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution Boolean.exitedInTime =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution Boolean.exitedInTime =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution Boolean.exitedInTime =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution Boolean.CS$4$0001 =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="410" StartColumn="5" EndLine="410" EndColumn="33">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>003a: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="412" StartColumn="11" EndLine="412" EndColumn="12">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0046: deleting Nop, Leave</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0046: deleting Nop, Leave, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="408" StartColumn="6" EndLine="408" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002c: deleting Ldarg, Ldloc, Callvirt, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="423" StartColumn="7" EndLine="423" EndColumn="27">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0090: deleting Ldloc, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0090: deleting Ldloc, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0094: write substitution Boolean.CS$4$0001 =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0094: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0094: write substitution Boolean.CS$4$0001 =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0098: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0098: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0098: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0090: read substitution Boolean.testSuitePassed =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0096: read substitution Boolean.CS$4$0001 =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0090: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0096: read substitution Boolean.CS$4$0001 =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0090: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0096: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="425" StartColumn="17" EndLine="425" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009b: deleting Ldarg, Callvirt, Ldc_I4, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="433" StartColumn="13" EndLine="433" EndColumn="39">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ef: deleting Ldloc, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="426" StartColumn="17" EndLine="430" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a8: deleting Ldstr, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldloc, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldarg, Callvirt, Callvirt, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldarg, Callvirt, Callvirt, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Callvirt, Stelem_Ref, Ldloc, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="435" StartColumn="13" EndLine="435" EndColumn="45">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00f7: deleting Ldarg, Ldarg, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="436" StartColumn="13" EndLine="436" EndColumn="37">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0103: write substitution Boolean.CS$1$0000 =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: write substitution Boolean.CS$1$0000 =&gt; Boolean.testSuitePassed</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ff: read substitution Boolean.testSuitePassed =&gt; Boolean.exitedInTime</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ff: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ff: read substitution Boolean.testSuitePassed =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="412" StartColumn="4" EndLine="412" EndColumn="9">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="437" StartColumn="3" EndLine="437" EndColumn="4">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="303" StartColumn="34" EndLine="303" EndColumn="58">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0002: deleting Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: deleting Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="303" StartColumn="22" EndLine="303" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>001a: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="303" StartColumn="31" EndLine="303" EndColumn="33">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002c: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002c: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002c: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="304" StartColumn="13" EndLine="304" EndColumn="75">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0022: deleting Ldarg, Ldarg, Ldarg, Ldloc, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Collections.Generic;</Line>
        <Line Number="24">using System.Diagnostics;</Line>
        <Line Number="25">using System.IO;</Line>
        <Line Number="26">using System.Linq;</Line>
        <Line Number="27">using System.Management;</Line>
        <Line Number="28">using System.Text.RegularExpressions;</Line>
        <Line Number="29">using System.Threading;</Line>
        <Line Number="30">using System.Threading.Tasks;</Line>
        <Line Number="31">using System.Xml.Serialization;</Line>
        <Line Number="32" />
        <Line Number="33">using Microsoft.Win32;</Line>
        <Line Number="34" />
        <Line Number="35">using Mono.Cecil;</Line>
        <Line Number="36">using Mono.Cecil.Cil;</Line>
        <Line Number="37">using Mono.Collections.Generic;</Line>
        <Line Number="38" />
        <Line Number="39">using NinjaTurtles.Reporting;</Line>
        <Line Number="40">using NinjaTurtles.TestRunners;</Line>
        <Line Number="41">using NinjaTurtles.Turtles;</Line>
        <Line Number="42" />
        <Line Number="43">namespace NinjaTurtles</Line>
        <Line Number="44">{</Line>
        <Line Number="45">    internal class MutationTest : IMutationTest</Line>
        <Line Number="46">    {</Line>
        <Line Number="47">        private const string ERROR_REPORTING_KEY = @"SOFTWARE\Microsoft\Windows\Windows Error Reporting";</Line>
        <Line Number="48">        private const string ERROR_REPORTING_VALUE = "DontShowUI";</Line>
        <Line Number="49" />
        <Line Number="50">        private readonly IList&lt;Type&gt; _mutationsToApply = new List&lt;Type&gt;();</Line>
        <Line Number="51">        private readonly string _testAssemblyLocation;</Line>
        <Line Number="52">        private readonly Type[] _parameterTypes;</Line>
        <Line Number="53">        private readonly AssemblyDefinition _testAssembly;</Line>
        <Line Number="54">        private readonly TypeReference _targetTypeReference;</Line>
        <Line Number="55">        private Module _module;</Line>
        <Line Number="56">        private IEnumerable&lt;string&gt; _testsToRun;</Line>
        <Line Number="57">        private ITestRunner _runner;</Line>
        <Line Number="58">        private MutationTestingReport _report;</Line>
        <Line Number="59">        private ReportingStrategy _reportingStrategy = new NullReportingStrategy();</Line>
        <Line Number="60">        private string _reportFileName;</Line>
        <Line Number="61">        private MethodReferenceComparer _comparer;</Line>
        <Line Number="62">        private static Regex _automaticallyGeneratedNestedClassMatcher = new Regex("^\\&lt;([A-Za-z0-9@_]+)\\&gt;");</Line>
        <Line Number="63">        //private TimeSpan _benchmark;</Line>
        <Line Number="64" />
        <Line Number="65">        internal MutationTest(string testAssemblyLocation, Type targetType, string targetMethod, Type[] parameterTypes)</Line>
        <Line Number="66">        {</Line>
        <Line Number="67">            TargetType = targetType;</Line>
        <Line Number="68">            TargetMethod = targetMethod;</Line>
        <Line Number="69">            _testAssemblyLocation = testAssemblyLocation;</Line>
        <Line Number="70">            _parameterTypes = parameterTypes;</Line>
        <Line Number="71">            _testAssembly = AssemblyDefinition.ReadAssembly(testAssemblyLocation);</Line>
        <Line Number="72">            _targetTypeReference = _testAssembly.MainModule.Import(targetType);</Line>
        <Line Number="73">        }</Line>
        <Line Number="74">        </Line>
        <Line Number="75">        public Type TargetType { get; private set; }</Line>
        <Line Number="76" />
        <Line Number="77">        public string TargetMethod { get; private set; }</Line>
        <Line Number="78">        </Line>
        <Line Number="79">        public void Run()</Line>
        <Line Number="80">        {</Line>
        <Line Number="81">            var key = Registry.LocalMachine.OpenSubKey(ERROR_REPORTING_KEY, RegistryKeyPermissionCheck.ReadWriteSubTree);</Line>
        <Line Number="82">            var errorReportingValue = key.GetValue(ERROR_REPORTING_VALUE, null);</Line>
        <Line Number="83">            key.SetValue(ERROR_REPORTING_VALUE, 1, RegistryValueKind.DWord);</Line>
        <Line Number="84">            key.Close();</Line>
        <Line Number="85" />
        <Line Number="86">            MethodDefinition method = ValidateMethod();</Line>
        <Line Number="87">            _module.LoadDebugInformation();</Line>
        <Line Number="88" />
        <Line Number="89">            _comparer = new MethodReferenceComparer();</Line>
        <Line Number="90">            var matchingMethods = new List&lt;MethodReference&gt;();</Line>
        <Line Number="91">            AddMethod(method, matchingMethods);</Line>
        <Line Number="92" />
        <Line Number="93">            int[] originalOffsets = method.Body.Instructions.Select(i =&gt; i.Offset).ToArray();</Line>
        <Line Number="94">            _report = new MutationTestingReport();</Line>
        <Line Number="95">            _testsToRun = GetMatchingTestsFromTree(method, matchingMethods);</Line>
        <Line Number="96" />
        <Line Number="97">            //_benchmark = BenchmarkTestSuite();</Line>
        <Line Number="98" />
        <Line Number="99">            int count = 0;</Line>
        <Line Number="100">            int failures = 0;</Line>
        <Line Number="101">            if (_mutationsToApply.Count == 0) PopulateDefaultTurtles();</Line>
        <Line Number="102">            foreach (var turtleType in _mutationsToApply)</Line>
        <Line Number="103">            {</Line>
        <Line Number="104">                var turtle = (MethodTurtleBase)Activator.CreateInstance(turtleType);</Line>
        <Line Number="105">                Parallel.ForEach(turtle.Mutate(method, _module, originalOffsets),</Line>
        <Line Number="106">                    mutation =&gt; RunMutation(turtle, mutation, ref failures, ref count));</Line>
        <Line Number="107">            }</Line>
        <Line Number="108" />
        <Line Number="109">            _report.RegisterMethod(method);</Line>
        <Line Number="110">            _reportingStrategy.WriteReport(_report, _reportFileName);</Line>
        <Line Number="111" />
        <Line Number="112">            key = Registry.LocalMachine.OpenSubKey(ERROR_REPORTING_KEY, RegistryKeyPermissionCheck.ReadWriteSubTree);</Line>
        <Line Number="113">            if (errorReportingValue == null)</Line>
        <Line Number="114">            {</Line>
        <Line Number="115">                key.DeleteValue(ERROR_REPORTING_VALUE);</Line>
        <Line Number="116">            }</Line>
        <Line Number="117">            else</Line>
        <Line Number="118">            {</Line>
        <Line Number="119">                key.SetValue(ERROR_REPORTING_VALUE, errorReportingValue, RegistryValueKind.DWord);</Line>
        <Line Number="120">            }</Line>
        <Line Number="121">            key.Close();</Line>
        <Line Number="122" />
        <Line Number="123">            if (count == 0)</Line>
        <Line Number="124">            {</Line>
        <Line Number="125">                Console.WriteLine("No valid mutations found (this is fine).");</Line>
        <Line Number="126">                return;</Line>
        <Line Number="127">            }</Line>
        <Line Number="128">            if (failures &gt; 0)</Line>
        <Line Number="129">            {</Line>
        <Line Number="130">                throw new MutationTestFailureException();</Line>
        <Line Number="131">            }</Line>
        <Line Number="132">        }</Line>
        <Line Number="133" />
        <Line Number="134">        private void AddMethod(MethodDefinition targetMethod, List&lt;MethodReference&gt; matchingMethods)</Line>
        <Line Number="135">        {</Line>
        <Line Number="136">            if (matchingMethods.Contains(targetMethod, _comparer)) return;</Line>
        <Line Number="137">            matchingMethods.Add(targetMethod);</Line>
        <Line Number="138">            AddCallingMethods(targetMethod, matchingMethods);</Line>
        <Line Number="139">            var declaringType = targetMethod.DeclaringType;</Line>
        <Line Number="140">            TypeDefinition type = declaringType;</Line>
        <Line Number="141">            while (type != null &amp;&amp; type.BaseType != null)</Line>
        <Line Number="142">            {</Line>
        <Line Number="143">                var thisModule = type.BaseType.Module;</Line>
        <Line Number="144">                if (type.BaseType.Scope.Name != type.BaseType.Module.Assembly.Name.Name</Line>
        <Line Number="145">                    &amp;&amp; type.BaseType.Scope is AssemblyNameReference)</Line>
        <Line Number="146">                {</Line>
        <Line Number="147">                    thisModule =</Line>
        <Line Number="148">                        type.BaseType.Module.AssemblyResolver.Resolve((AssemblyNameReference)type.BaseType.Scope).</Line>
        <Line Number="149">                            MainModule;</Line>
        <Line Number="150">                }</Line>
        <Line Number="151">                type = thisModule.Types.SingleOrDefault(t =&gt; t.FullName == type.BaseType.FullName);</Line>
        <Line Number="152">                if (type != null)</Line>
        <Line Number="153">                {</Line>
        <Line Number="154">                    var baseMethod = type.Methods</Line>
        <Line Number="155">                        .SingleOrDefault(m =&gt; MethodsMatch(m, targetMethod));</Line>
        <Line Number="156">                    if (baseMethod != null)</Line>
        <Line Number="157">                    {</Line>
        <Line Number="158">                        AddMethod(baseMethod, matchingMethods);</Line>
        <Line Number="159">                        break;</Line>
        <Line Number="160">                    }</Line>
        <Line Number="161">                    AddMethodsForInterfaces(targetMethod, matchingMethods, type);</Line>
        <Line Number="162">                }</Line>
        <Line Number="163">            }</Line>
        <Line Number="164">            AddMethodsForInterfaces(targetMethod, matchingMethods, declaringType);</Line>
        <Line Number="165">        }</Line>
        <Line Number="166" />
        <Line Number="167">        private void AddMethodsForInterfaces(MethodDefinition targetMethod, List&lt;MethodReference&gt; matchingMethods, TypeDefinition type)</Line>
        <Line Number="168">        {</Line>
        <Line Number="169">            foreach (var interfaceReference in type.Interfaces)</Line>
        <Line Number="170">            {</Line>
        <Line Number="171">                var thisModule = type.Module;</Line>
        <Line Number="172">                if (interfaceReference.Scope.Name != type.Module.Assembly.Name.Name</Line>
        <Line Number="173">                    &amp;&amp; interfaceReference.Scope is AssemblyNameReference)</Line>
        <Line Number="174">                {</Line>
        <Line Number="175">                    thisModule =</Line>
        <Line Number="176">                        interfaceReference.Module.AssemblyResolver.Resolve((AssemblyNameReference)interfaceReference.Scope).</Line>
        <Line Number="177">                            MainModule;</Line>
        <Line Number="178">                }</Line>
        <Line Number="179">                var interfaceDefinition =</Line>
        <Line Number="180">                    thisModule.Types.SingleOrDefault(t =&gt; t.FullName == interfaceReference.FullName);</Line>
        <Line Number="181">                if (interfaceDefinition != null)</Line>
        <Line Number="182">                {</Line>
        <Line Number="183">                    var interfaceMethod = interfaceDefinition.Methods</Line>
        <Line Number="184">                        .SingleOrDefault(m =&gt; MethodsMatch(m, targetMethod));</Line>
        <Line Number="185">                    if (interfaceMethod != null)</Line>
        <Line Number="186">                    {</Line>
        <Line Number="187">                        AddMethod(interfaceMethod, matchingMethods);</Line>
        <Line Number="188">                    }</Line>
        <Line Number="189">                }</Line>
        <Line Number="190">            }</Line>
        <Line Number="191">        }</Line>
        <Line Number="192" />
        <Line Number="193">        private bool MethodsMatch(MethodDefinition first, MethodDefinition second)</Line>
        <Line Number="194">        {</Line>
        <Line Number="195">            return first.Name == second.Name</Line>
        <Line Number="196">                   &amp;&amp; Enumerable.SequenceEqual(first.Parameters.Select(p =&gt; p.ParameterType.Name),</Line>
        <Line Number="197">                                               second.Parameters.Select(p =&gt; p.ParameterType.Name))</Line>
        <Line Number="198">                   &amp;&amp; first.GenericParameters.Count == second.GenericParameters.Count;</Line>
        <Line Number="199">        }</Line>
        <Line Number="200" />
        <Line Number="201">        private ISet&lt;string&gt; GetMatchingTestsFromTree(MethodDefinition targetmethod, IList&lt;MethodReference&gt; matchingMethods, bool force = false)</Line>
        <Line Number="202">        {</Line>
        <Line Number="203">            ISet&lt;string&gt; result = new HashSet&lt;string&gt;();</Line>
        <Line Number="204">            foreach (var type in _testAssembly.MainModule.Types)</Line>
        <Line Number="205">            AddTestsForType(targetmethod, matchingMethods, force, type, result);</Line>
        <Line Number="206">            if (!force &amp;&amp; result.Count == 0)</Line>
        <Line Number="207">            {</Line>
        <Line Number="208">                result = GetMatchingTestsFromTree(targetmethod, matchingMethods, true);</Line>
        <Line Number="209">            }</Line>
        <Line Number="210">            if (result.Count == 0)</Line>
        <Line Number="211">            {</Line>
        <Line Number="212">                throw new MutationTestFailureException(</Line>
        <Line Number="213">                    "No matching tests were found to run.");</Line>
        <Line Number="214">            }</Line>
        <Line Number="215">            return result;</Line>
        <Line Number="216">        }</Line>
        <Line Number="217" />
        <Line Number="218">        private void AddTestsForType(MethodDefinition targetmethod, IList&lt;MethodReference&gt; matchingMethods, bool force, TypeDefinition type,</Line>
        <Line Number="219">                                     ISet&lt;string&gt; result)</Line>
        <Line Number="220">        {</Line>
        <Line Number="221">            foreach (var method in type.Methods.Where(m =&gt; m.HasBody))</Line>
        <Line Number="222">            {</Line>
        <Line Number="223">                var targetType = targetmethod.DeclaringType.FullName;</Line>
        <Line Number="224">                if (!force &amp;&amp; !DoesMethodReferenceType(method, targetType)) continue;</Line>
        <Line Number="225">                foreach (var instruction in method.Body.Instructions)</Line>
        <Line Number="226">                {</Line>
        <Line Number="227">                    if (instruction.OpCode == OpCodes.Call</Line>
        <Line Number="228">                        || instruction.OpCode == OpCodes.Callvirt</Line>
        <Line Number="229">                        || instruction.OpCode == OpCodes.Newobj</Line>
        <Line Number="230">                        || instruction.OpCode == OpCodes.Ldftn)</Line>
        <Line Number="231">                    {</Line>
        <Line Number="232">                        var reference = (MethodReference)instruction.Operand;</Line>
        <Line Number="233">                        if (matchingMethods.Any(m =&gt; _comparer.Equals(m, reference))</Line>
        <Line Number="234">                            &amp;&amp; !method.CustomAttributes.Any(a =&gt; a.AttributeType.Name == "MutationTestAttribute"))</Line>
        <Line Number="235">                        {</Line>
        <Line Number="236">                            result.Add(string.Format("{0}.{1}", type.FullName.Replace("/", "+"), method.Name));</Line>
        <Line Number="237">                            break;</Line>
        <Line Number="238">                        }</Line>
        <Line Number="239">                    }</Line>
        <Line Number="240">                }</Line>
        <Line Number="241">            }</Line>
        <Line Number="242">            if (type.NestedTypes != null)</Line>
        <Line Number="243">            {</Line>
        <Line Number="244">                foreach (var typeDefinition in type.NestedTypes)</Line>
        <Line Number="245">                {</Line>
        <Line Number="246">                    AddTestsForType(targetmethod, matchingMethods, force, typeDefinition, result);</Line>
        <Line Number="247">                }</Line>
        <Line Number="248">            }</Line>
        <Line Number="249">        }</Line>
        <Line Number="250" />
        <Line Number="251">        private static bool DoesMethodReferenceType(MethodDefinition method, string targetType)</Line>
        <Line Number="252">        {</Line>
        <Line Number="253">            bool typeUsed = false;</Line>
        <Line Number="254">            foreach (var instruction in method.Body.Instructions)</Line>
        <Line Number="255">            {</Line>
        <Line Number="256">                if (instruction.OpCode == OpCodes.Call</Line>
        <Line Number="257">                    || instruction.OpCode == OpCodes.Callvirt</Line>
        <Line Number="258">                    || instruction.OpCode == OpCodes.Newobj</Line>
        <Line Number="259">                    || instruction.OpCode == OpCodes.Ldftn)</Line>
        <Line Number="260">                {</Line>
        <Line Number="261">                    var reference = (MethodReference)instruction.Operand;</Line>
        <Line Number="262">                    var declaringType = reference.DeclaringType;</Line>
        <Line Number="263">                    if (declaringType.FullName == targetType)</Line>
        <Line Number="264">                    {</Line>
        <Line Number="265">                        typeUsed = true;</Line>
        <Line Number="266">                        break;</Line>
        <Line Number="267">                    }</Line>
        <Line Number="268">                    var genericType = declaringType as GenericInstanceType;</Line>
        <Line Number="269">                    if (genericType != null)</Line>
        <Line Number="270">                    {</Line>
        <Line Number="271">                        if (genericType.GenericArguments.Any(a =&gt; a.FullName == targetType))</Line>
        <Line Number="272">                        {</Line>
        <Line Number="273">                            typeUsed = true;</Line>
        <Line Number="274">                            break;</Line>
        <Line Number="275">                        }</Line>
        <Line Number="276">                    }</Line>
        <Line Number="277">                    var genericMethod = reference as GenericInstanceMethod;</Line>
        <Line Number="278">                    if (genericMethod != null)</Line>
        <Line Number="279">                    {</Line>
        <Line Number="280">                        if (genericMethod.GenericArguments.Any(a =&gt; a.FullName == targetType))</Line>
        <Line Number="281">                        {</Line>
        <Line Number="282">                            typeUsed = true;</Line>
        <Line Number="283">                            break;</Line>
        <Line Number="284">                        }</Line>
        <Line Number="285">                    }</Line>
        <Line Number="286">                }</Line>
        <Line Number="287">                if (instruction.OpCode == OpCodes.Newobj)</Line>
        <Line Number="288">                {</Line>
        <Line Number="289">                    var constructor = (MemberReference)instruction.Operand;</Line>
        <Line Number="290">                    var declaringType = constructor.DeclaringType;</Line>
        <Line Number="291">                    if (declaringType.FullName == targetType)</Line>
        <Line Number="292">                    {</Line>
        <Line Number="293">                        typeUsed = true;</Line>
        <Line Number="294">                        break;</Line>
        <Line Number="295">                    }</Line>
        <Line Number="296">                }</Line>
        <Line Number="297">            }</Line>
        <Line Number="298">            return typeUsed;</Line>
        <Line Number="299">        }</Line>
        <Line Number="300" />
        <Line Number="301">        private void AddCallingMethods(MethodReference targetMethod, List&lt;MethodReference&gt; matchingMethods)</Line>
        <Line Number="302">        {</Line>
        <Line Number="303">            foreach (var type in _module.Definition.Types)</Line>
        <Line Number="304">            AddCallingMethodsForType(targetMethod, matchingMethods, type);</Line>
        <Line Number="305">        }</Line>
        <Line Number="306" />
        <Line Number="307">        private void AddCallingMethodsForType(MethodReference targetMethod, List&lt;MethodReference&gt; matchingMethods, TypeDefinition type)</Line>
        <Line Number="308">        {</Line>
        <Line Number="309">            foreach (var method in type.Methods.Where(m =&gt; m.HasBody))</Line>
        <Line Number="310">            foreach (var instruction in method.Body.Instructions)</Line>
        <Line Number="311">            {</Line>
        <Line Number="312">                if (instruction.OpCode == OpCodes.Call</Line>
        <Line Number="313">                    || instruction.OpCode == OpCodes.Callvirt</Line>
        <Line Number="314">                    || instruction.OpCode == OpCodes.Newobj</Line>
        <Line Number="315">                    || instruction.OpCode == OpCodes.Ldftn)</Line>
        <Line Number="316">                {</Line>
        <Line Number="317">                    var reference = (MethodReference)instruction.Operand;</Line>
        <Line Number="318">                    if (_comparer.Equals(reference, targetMethod)</Line>
        <Line Number="319">                        &amp;&amp; !matchingMethods.Contains(method, _comparer))</Line>
        <Line Number="320">                    {</Line>
        <Line Number="321">                        AddMethod(method, matchingMethods);</Line>
        <Line Number="322">                        var match = _automaticallyGeneratedNestedClassMatcher.Match(type.Name);</Line>
        <Line Number="323">                        if (match.Success &amp;&amp; type.DeclaringType != null)</Line>
        <Line Number="324">                        {</Line>
        <Line Number="325">                            if (type.DeclaringType.Methods.Any(m =&gt; m.Name == match.Groups[1].Value))</Line>
        <Line Number="326">                            {</Line>
        <Line Number="327">                                AddMethod(type.DeclaringType.Methods.First(m =&gt; m.Name == match.Groups[1].Value), matchingMethods);</Line>
        <Line Number="328">                            }</Line>
        <Line Number="329">                        }</Line>
        <Line Number="330">                    }</Line>
        <Line Number="331">                }</Line>
        <Line Number="332">            }</Line>
        <Line Number="333">            foreach (var nestedType in type.NestedTypes)</Line>
        <Line Number="334">            {</Line>
        <Line Number="335">                AddCallingMethodsForType(targetMethod, matchingMethods, nestedType);</Line>
        <Line Number="336">            }</Line>
        <Line Number="337">        }</Line>
        <Line Number="338" />
        <Line Number="339">        private class MethodReferenceComparer : IEqualityComparer&lt;MethodReference&gt;</Line>
        <Line Number="340">        {</Line>
        <Line Number="341">            public bool Equals(MethodReference x, MethodReference y)</Line>
        <Line Number="342">            {</Line>
        <Line Number="343">                if (x.Name != y.Name) return false;</Line>
        <Line Number="344">                        return x.DeclaringType.FullName == y.DeclaringType.FullName</Line>
        <Line Number="345">                        &amp;&amp; Enumerable.SequenceEqual(x.Parameters.Select(p =&gt; p.ParameterType.Name),</Line>
        <Line Number="346">                                                 y.Parameters.Select(p =&gt; p.ParameterType.Name))</Line>
        <Line Number="347">                        &amp;&amp; x.GenericParameters.Count == y.GenericParameters.Count;</Line>
        <Line Number="348">            }</Line>
        <Line Number="349" />
        <Line Number="350">            public int GetHashCode(MethodReference obj)</Line>
        <Line Number="351">            {</Line>
        <Line Number="352">                return obj.Name.GetHashCode();</Line>
        <Line Number="353">            }</Line>
        <Line Number="354">        }</Line>
        <Line Number="355" />
        <Line Number="356">        private void RunMutation(MethodTurtleBase turtle, MutantMetaData mutation, ref int failures, ref int count)</Line>
        <Line Number="357">        {</Line>
        <Line Number="358">            bool testProcessFailed = CheckTestProcessFails(turtle, mutation);</Line>
        <Line Number="359">            if (!testProcessFailed)</Line>
        <Line Number="360">            {</Line>
        <Line Number="361">                Interlocked.Increment(ref failures);</Line>
        <Line Number="362">            }</Line>
        <Line Number="363">            Interlocked.Increment(ref count);</Line>
        <Line Number="364">        }</Line>
        <Line Number="365" />
        <Line Number="366">//        private TimeSpan BenchmarkTestSuite()</Line>
        <Line Number="367">//        {</Line>
        <Line Number="368">//            var testDirectory = new TestDirectory(Path.GetDirectoryName(_testAssemblyLocation));</Line>
        <Line Number="369">//</Line>
        <Line Number="370">//            var process = GetTestRunnerProcess(testDirectory);</Line>
        <Line Number="371">//</Line>
        <Line Number="372">//            var stopwatch = new Stopwatch();</Line>
        <Line Number="373">//            stopwatch.Start();</Line>
        <Line Number="374">//            process.Start();</Line>
        <Line Number="375">//            process.WaitForExit();</Line>
        <Line Number="376">//            stopwatch.Stop();</Line>
        <Line Number="377">//</Line>
        <Line Number="378">//            testDirectory.Dispose();</Line>
        <Line Number="379">//</Line>
        <Line Number="380">//            if (process.ExitCode != 0)</Line>
        <Line Number="381">//            {</Line>
        <Line Number="382">//                throw new MutationTestFailureException("Test suite does not pass with unmutated code - mutation testing aborted.");</Line>
        <Line Number="383">//            }</Line>
        <Line Number="384">//            var timespan = stopwatch.Elapsed;</Line>
        <Line Number="385">//            Console.WriteLine("Test suite benchmarked at {0:0.000} seconds.", timespan.TotalSeconds);</Line>
        <Line Number="386">//</Line>
        <Line Number="387">//            return timespan;</Line>
        <Line Number="388">//        }</Line>
        <Line Number="389" />
        <Line Number="390">        private Process GetTestRunnerProcess(TestDirectory testDirectory)</Line>
        <Line Number="391">        {</Line>
        <Line Number="392">            if (_runner == null) _runner = (ITestRunner)Activator.CreateInstance(MutationTestBuilder.TestRunner);</Line>
        <Line Number="393">            return _runner.GetRunnerProcess(testDirectory, _testAssemblyLocation, _testsToRun);</Line>
        <Line Number="394">        }</Line>
        <Line Number="395" />
        <Line Number="396">        private bool CheckTestProcessFails(MethodTurtleBase turtle, MutantMetaData mutation)</Line>
        <Line Number="397">        {</Line>
        <Line Number="398">            var process = GetTestRunnerProcess(mutation.TestDirectory);</Line>
        <Line Number="399" />
        <Line Number="400">            process.Start();</Line>
        <Line Number="401">            bool exitedInTime = process.WaitForExit(30000); //Math.Min(30000, (int)(5 * _benchmark.TotalMilliseconds)));</Line>
        <Line Number="402">            int exitCode = -1;</Line>
        <Line Number="403" />
        <Line Number="404">            try</Line>
        <Line Number="405">            {</Line>
        <Line Number="406">                if (!exitedInTime)</Line>
        <Line Number="407">                {</Line>
        <Line Number="408">                    KillProcessAndChildren(process.Id);</Line>
        <Line Number="409">                }</Line>
        <Line Number="410">                exitCode = process.ExitCode;</Line>
        <Line Number="411">            }</Line>
        <Line Number="412">            catch {}</Line>
        <Line Number="413" />
        <Line Number="414">            bool testSuitePassed = exitCode == 0 &amp;&amp; exitedInTime;</Line>
        <Line Number="415">            </Line>
        <Line Number="416">            string result = string.Format("Mutant: {0}. {1}",</Line>
        <Line Number="417">                              mutation.Description,</Line>
        <Line Number="418">                              testSuitePassed</Line>
        <Line Number="419">                                  ? "Survived."</Line>
        <Line Number="420">                                : "Killed.");</Line>
        <Line Number="421">            _report.AddResult(turtle.GetCurrentSequencePoint(mutation.ILIndex), mutation, !testSuitePassed);</Line>
        <Line Number="422" />
        <Line Number="423">            if (testSuitePassed)</Line>
        <Line Number="424">            {</Line>
        <Line Number="425">                mutation.TestDirectory.DoNotDelete = true;</Line>
        <Line Number="426">                result = string.Format("{0}\nOriginal source code around surviving mutant (in {1}):\n{2}\nFiles left for inspection in: {3}",</Line>
        <Line Number="427">                    result,</Line>
        <Line Number="428">                    turtle.GetOriginalSourceFileName(mutation.ILIndex),</Line>
        <Line Number="429">                    turtle.GetOriginalSourceCode(mutation.ILIndex),</Line>
        <Line Number="430">                    mutation.TestDirectoryName);</Line>
        <Line Number="431">            }</Line>
        <Line Number="432" />
        <Line Number="433">            Console.WriteLine(result);</Line>
        <Line Number="434" />
        <Line Number="435">            turtle.MutantComplete(mutation);</Line>
        <Line Number="436">            return !testSuitePassed;</Line>
        <Line Number="437">        }</Line>
        <Line Number="438" />
        <Line Number="439">        private void KillProcessAndChildren(int pid)</Line>
        <Line Number="440">        {</Line>
        <Line Number="441">            using (var searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + pid))</Line>
        <Line Number="442">            using (ManagementObjectCollection moc = searcher.Get())</Line>
        <Line Number="443">            {</Line>
        <Line Number="444">                foreach (ManagementObject mo in moc)</Line>
        <Line Number="445">                {</Line>
        <Line Number="446">                    KillProcessAndChildren(Convert.ToInt32(mo["ProcessID"]));</Line>
        <Line Number="447">                }</Line>
        <Line Number="448">                try</Line>
        <Line Number="449">                {</Line>
        <Line Number="450">                    Process proc = Process.GetProcessById(pid);</Line>
        <Line Number="451">                    proc.Kill();</Line>
        <Line Number="452">                }</Line>
        <Line Number="453">                catch (ArgumentException) {}</Line>
        <Line Number="454">            }</Line>
        <Line Number="455">        }</Line>
        <Line Number="456" />
        <Line Number="457">                </Line>
        <Line Number="458">        private void PopulateDefaultTurtles()</Line>
        <Line Number="459">        {</Line>
        <Line Number="460">            foreach (var type in GetType().Assembly.GetTypes()</Line>
        <Line Number="461">                .Where(t =&gt; t.GetInterface("IMethodTurtle") != null</Line>
        <Line Number="462">                &amp;&amp; !t.IsAbstract))</Line>
        <Line Number="463">            {</Line>
        <Line Number="464">                _mutationsToApply.Add(type);</Line>
        <Line Number="465">            }</Line>
        <Line Number="466">        }</Line>
        <Line Number="467" />
        <Line Number="468">        private MethodDefinition ValidateMethod()</Line>
        <Line Number="469">        {</Line>
        <Line Number="470">            _module = new Module(TargetType.Assembly.Location);</Line>
        <Line Number="471" />
        <Line Number="472">            var type = ResolveFromTypeCollection(_module.Definition.Types);</Line>
        <Line Number="473">            return MethodDefinitionResolver.ResolveMethod(type, TargetMethod, _parameterTypes);</Line>
        <Line Number="474">        }</Line>
        <Line Number="475" />
        <Line Number="476">        private TypeDefinition ResolveFromTypeCollection(Collection&lt;TypeDefinition&gt; types)</Line>
        <Line Number="477">        {</Line>
        <Line Number="478">            var type = types.SingleOrDefault(t =&gt; t.FullName == TargetType.FullName.Replace("+", "/"));</Line>
        <Line Number="479">            if (type == null)</Line>
        <Line Number="480">            {</Line>
        <Line Number="481">                foreach (var typeDefinition in types)</Line>
        <Line Number="482">                {</Line>
        <Line Number="483">                    if (typeDefinition.NestedTypes != null)</Line>
        <Line Number="484">                    {</Line>
        <Line Number="485">                        type = ResolveFromTypeCollection(typeDefinition.NestedTypes);</Line>
        <Line Number="486">                        if (type != null) return type;</Line>
        <Line Number="487">                    }</Line>
        <Line Number="488">                }</Line>
        <Line Number="489">            }</Line>
        <Line Number="490">            return type;</Line>
        <Line Number="491">        }</Line>
        <Line Number="492" />
        <Line Number="493">        public IMutationTest With&lt;T&gt;() where T : IMethodTurtle</Line>
        <Line Number="494">        {</Line>
        <Line Number="495">            _mutationsToApply.Add(typeof(T));</Line>
        <Line Number="496">            return this;</Line>
        <Line Number="497">        }</Line>
        <Line Number="498" />
        <Line Number="499">        /// &lt;summary&gt;</Line>
        <Line Number="500">        /// Sets the unit test runner to be used, which is an implementation of</Line>
        <Line Number="501">        /// &lt;see cref="ITestRunner" /&gt;. If none is specified, then the default</Line>
        <Line Number="502">        /// is to use &lt;see cref="NUnitTestRunner" /&gt;.</Line>
        <Line Number="503">        /// &lt;/summary&gt;</Line>
        <Line Number="504">        /// &lt;typeparam name="T"&gt;</Line>
        <Line Number="505">        /// A type that implements &lt;see cref="ITestRunner" /&gt;.</Line>
        <Line Number="506">        /// &lt;/typeparam&gt;</Line>
        <Line Number="507">        /// &lt;returns&gt;</Line>
        <Line Number="508">        /// The original &lt;see cref="IMutationTest" /&gt; instance to allow fluent</Line>
        <Line Number="509">        /// method chaining.</Line>
        <Line Number="510">        /// &lt;/returns&gt;</Line>
        <Line Number="511">        public IMutationTest UsingRunner&lt;T&gt;() where T : ITestRunner, new()</Line>
        <Line Number="512">        {</Line>
        <Line Number="513">            _runner = new T();</Line>
        <Line Number="514">            return this;</Line>
        <Line Number="515">        }</Line>
        <Line Number="516" />
        <Line Number="517">        public IMutationTest WriteReportTo(string fileName)</Line>
        <Line Number="518">        {</Line>
        <Line Number="519">            _reportingStrategy = new OverwriteReportingStrategy();</Line>
        <Line Number="520">            _reportFileName = fileName;</Line>
        <Line Number="521">            return this;</Line>
        <Line Number="522">        }</Line>
        <Line Number="523" />
        <Line Number="524">        public IMutationTest MergeReportTo(string fileName)</Line>
        <Line Number="525">        {</Line>
        <Line Number="526">            _reportingStrategy = new MergeReportingStrategy();</Line>
        <Line Number="527">            _reportFileName = fileName;</Line>
        <Line Number="528">            return this;</Line>
        <Line Number="529">        }</Line>
        <Line Number="530" />
        <Line Number="531">        private abstract class ReportingStrategy</Line>
        <Line Number="532">        {</Line>
        <Line Number="533">            public abstract void WriteReport(MutationTestingReport report, string fileName);</Line>
        <Line Number="534">        }</Line>
        <Line Number="535" />
        <Line Number="536">        private class NullReportingStrategy : ReportingStrategy</Line>
        <Line Number="537">        {</Line>
        <Line Number="538">            public override void WriteReport(MutationTestingReport report, string fileName) { }</Line>
        <Line Number="539">        }</Line>
        <Line Number="540" />
        <Line Number="541">        private class OverwriteReportingStrategy : ReportingStrategy</Line>
        <Line Number="542">        {</Line>
        <Line Number="543">            public override void WriteReport(MutationTestingReport report, string fileName)</Line>
        <Line Number="544">            {</Line>
        <Line Number="545">                using (var streamWriter = File.CreateText(fileName))</Line>
        <Line Number="546">                {</Line>
        <Line Number="547">                    new XmlSerializer(typeof(MutationTestingReport)).Serialize(streamWriter, report);</Line>
        <Line Number="548">                }</Line>
        <Line Number="549">            }</Line>
        <Line Number="550">        }</Line>
        <Line Number="551" />
        <Line Number="552">        private class MergeReportingStrategy : ReportingStrategy</Line>
        <Line Number="553">        {</Line>
        <Line Number="554">            public override void WriteReport(MutationTestingReport report, string fileName)</Line>
        <Line Number="555">            {</Line>
        <Line Number="556">                report.MergeFromFile(fileName);</Line>
        <Line Number="557">                using (var streamWriter = File.CreateText(fileName))</Line>
        <Line Number="558">                {</Line>
        <Line Number="559">                    new XmlSerializer(typeof(MutationTestingReport)).Serialize(streamWriter, report);</Line>
        <Line Number="560">                }</Line>
        <Line Number="561">            }</Line>
        <Line Number="562">        }</Line>
        <Line Number="563">    }</Line>
        <Line Number="564">}</Line>
        <Line Number="565" />
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\TypeResolver.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="54" StartColumn="13" EndLine="54" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0047: deleting Ldloc, Ldnull, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0047: deleting Ldloc, Ldnull, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0055: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0055: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0055: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0047: read substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="52" StartColumn="13" EndLine="52" EndColumn="102">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000e: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Ldarg, Callvirt, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001e: read substitution Assembly.assembly =&gt; Assembly.referencedAssembly</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="59" StartColumn="39" EndLine="59" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>007f: deleting Ldarg, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007f: deleting Ldarg, Callvirt, Stloc, Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007f: read substitution Assembly.assembly =&gt; Assembly.referencedAssembly</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="59" StartColumn="22" EndLine="59" EndColumn="35">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>008c: deleting Ldloc, Ldloc, Ldelem_Ref, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="61" StartColumn="5" EndLine="61" EndColumn="55">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0093: deleting Ldarg, Ldloc, Callvirt, Callvirt, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: deleting Ldarg, Ldloc, Callvirt, Callvirt, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a6: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a6: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a6: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="63" StartColumn="17" EndLine="63" EndColumn="72">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00b7: deleting Ldloc, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="64" StartColumn="17" EndLine="64" EndColumn="103">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00be: deleting Ldloc, Ldloc, Ldfld, Ldarg, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00cb: write substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00be: read substitution Assembly.referencedAssembly =&gt; Assembly.assembly</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="65" StartColumn="17" EndLine="65" EndColumn="34">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00cc: deleting Ldloc, Ldnull, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00cc: deleting Ldloc, Ldnull, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00da: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00da: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00da: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00cc: read substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="59" StartColumn="36" EndLine="59" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00e9: deleting Ldloc, Ldloc, Ldlen, Conv_I4, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e9: deleting Ldloc, Ldloc, Ldlen, Conv_I4, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ef: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f5: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f5: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f5: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="53" StartColumn="13" EndLine="53" EndColumn="90">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002f: deleting Ldarg, Callvirt, Ldloc, Ldftn, Newobj, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0046: write substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution Assembly.assembly =&gt; Assembly.referencedAssembly</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="56" StartColumn="17" EndLine="56" EndColumn="98">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0058: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Ldarg, Callvirt, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution Assembly.assembly =&gt; Assembly.referencedAssembly</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="57" StartColumn="17" EndLine="57" EndColumn="29">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0079: deleting Ldloc, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: write substitution Type.CS$1$0000 =&gt; Type.type</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0079: read substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="61" StartColumn="56" EndLine="61" EndColumn="65">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a8: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="62" StartColumn="5" EndLine="62" EndColumn="46">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00aa: deleting Ldarg, Ldloc, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="67" StartColumn="21" EndLine="67" EndColumn="33">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00dd: deleting Ldloc, Stloc, Leave</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00de: write substitution Type.CS$1$0000 =&gt; Type.type</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00dd: read substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="69" StartColumn="13" EndLine="69" EndColumn="14">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00e2: deleting Nop, Ldloc, Ldc_I4, Add, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e6: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e6: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e6: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e6: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="70" StartColumn="13" EndLine="70" EndColumn="25">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00f7: deleting Ldnull, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f7: deleting Ldnull, Stloc, Br, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f8: write substitution Type.CS$1$0000 =&gt; Type.type</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="71" StartColumn="9" EndLine="71" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="42" StartColumn="13" EndLine="42" EndColumn="99">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>001d: deleting Ldarg, Ldarg, Newobj, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0029: write substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="41" StartColumn="13" EndLine="41" EndColumn="105">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldsfld, Ldstr, Ldarg, Ldarg, Callvirt, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="43" StartColumn="13" EndLine="43" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002a: deleting Ldloc, Ldnull, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002a: deleting Ldloc, Ldnull, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002a: read substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="45" StartColumn="17" EndLine="45" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0039: deleting Ldsfld, Ldstr, Ldarg, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="47" StartColumn="13" EndLine="47" EndColumn="25">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004c: write substitution Type.CS$1$0000 =&gt; Type.type</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: read substitution Type.type =&gt; Type.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="48" StartColumn="3" EndLine="48" EndColumn="4">
          <AppliedMutants />
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Collections.Generic;</Line>
        <Line Number="24">using System.Linq;</Line>
        <Line Number="25">using System.Reflection;</Line>
        <Line Number="26" />
        <Line Number="27">using NLog;</Line>
        <Line Number="28" />
        <Line Number="29">namespace NinjaTurtles</Line>
        <Line Number="30">{</Line>
        <Line Number="31">    internal class TypeResolver</Line>
        <Line Number="32">    {</Line>
        <Line Number="33">        #region Logging</Line>
        <Line Number="34" />
        <Line Number="35">        private static Logger _log = LogManager.GetCurrentClassLogger();</Line>
        <Line Number="36" />
        <Line Number="37">        #endregion</Line>
        <Line Number="38" />
        <Line Number="39">        internal static Type ResolveTypeFromReferences(Assembly callingAssembly, string className)</Line>
        <Line Number="40">        {</Line>
        <Line Number="41">            _log.Debug("Resolving type \"{0}\" in \"{1}\".", className, callingAssembly.GetName().Name);</Line>
        <Line Number="42">            Type type = ResolveTypeFromReferences(callingAssembly, className, new List&lt;string&gt;());</Line>
        <Line Number="43">            if (type == null)</Line>
        <Line Number="44">            {</Line>
        <Line Number="45">                _log.Error("Could not find type \"{0}\".", className);</Line>
        <Line Number="46">            }</Line>
        <Line Number="47">            return type;</Line>
        <Line Number="48">        }</Line>
        <Line Number="49" />
        <Line Number="50">        private static Type ResolveTypeFromReferences(Assembly assembly, string className, IList&lt;string&gt; consideredAssemblies)</Line>
        <Line Number="51">        {</Line>
        <Line Number="52">            _log.Trace("Searching for type \"{0}\" in \"{1}\".", className, assembly.GetName().Name);</Line>
        <Line Number="53">            var type = assembly.GetTypes().SingleOrDefault(t =&gt; t.FullName == className);</Line>
        <Line Number="54">            if (type != null)</Line>
        <Line Number="55">            {</Line>
        <Line Number="56">                _log.Trace("Found type \"{0}\" in \"{1}\".", className, assembly.GetName().Name);</Line>
        <Line Number="57">                return type;</Line>
        <Line Number="58">            }</Line>
        <Line Number="59">            foreach (var reference in assembly.GetReferencedAssemblies())</Line>
        <Line Number="60">            {</Line>
        <Line Number="61">                if (consideredAssemblies.Contains(reference.Name)) continue;</Line>
        <Line Number="62">                consideredAssemblies.Add(reference.Name);</Line>
        <Line Number="63">                Assembly referencedAssembly = Assembly.Load(reference);</Line>
        <Line Number="64">                type = ResolveTypeFromReferences(referencedAssembly, className, consideredAssemblies);</Line>
        <Line Number="65">                if (type != null)</Line>
        <Line Number="66">                {</Line>
        <Line Number="67">                    return type;</Line>
        <Line Number="68">                }</Line>
        <Line Number="69">            }</Line>
        <Line Number="70">            return null;</Line>
        <Line Number="71">        }</Line>
        <Line Number="72">    }</Line>
        <Line Number="73">}</Line>
        <Line Number="74" />
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\VariableWriteTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="62" StartColumn="13" EndLine="62" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002f: deleting Ldarg, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="63" StartColumn="13" EndLine="63" EndColumn="66">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0040: deleting Ldarg, Ldfld, Ldarg, Ldfld, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="65" StartColumn="42" EndLine="65" EndColumn="89">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0053: deleting Ldarg, Ldarg, Ldfld, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0053: deleting Ldarg, Ldarg, Ldfld, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stfld, Ldarg, Ldc_I4, Stfld, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="65" StartColumn="22" EndLine="65" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0094: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="67" StartColumn="17" EndLine="67" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a6: deleting Ldarg, Ldarg, Ldfld, Stloc, Ldloca, Call, Call, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="70" StartColumn="21" EndLine="70" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00cd: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00df: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00df: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00df: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="71" StartColumn="21" EndLine="71" EndColumn="72">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ee: deleting Ldarg, Ldfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ee: deleting Ldarg, Ldfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fc: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0100: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0100: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0100: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fe: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="73" StartColumn="21" EndLine="73" EndColumn="39">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0107: deleting Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0109: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0109: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0109: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="74" StartColumn="21" EndLine="74" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>010e: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>010e: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue, Newobj, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0126: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012a: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012a: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012a: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0128: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="71" StartColumn="73" EndLine="71" EndColumn="82">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0102: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="77" StartColumn="25" EndLine="77" EndColumn="119">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>014e: deleting Ldarg, Ldarg, Ldfld, Ldloc, Ldftn, Newobj, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0166: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0166: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0166: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="21" EndLine="79" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>016c: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue, Newobj, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016c: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0184: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0188: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0188: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0188: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0186: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="85" StartColumn="21" EndLine="85" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01ca: deleting Ldarg, Ldfld, Ldc_I4, Clt, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ca: deleting Ldarg, Ldfld, Ldc_I4, Clt, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01d1: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01d6: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01da: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01da: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01da: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01d8: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01cb: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01cb: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01cb: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="85" StartColumn="39" EndLine="85" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01dc: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="81" StartColumn="25" EndLine="81" EndColumn="88">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0191: deleting Ldloc, Ldarg, Ldfld, Callvirt, Castclass, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="76" StartColumn="25" EndLine="76" EndColumn="93">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0133: deleting Ldloc, Ldarg, Ldfld, Callvirt, Castclass, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="82" StartColumn="25" EndLine="82" EndColumn="114">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01ac: deleting Ldarg, Ldarg, Ldfld, Ldloc, Ldftn, Newobj, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c4: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c4: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c4: write substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="21" EndLine="90" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01e1: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Unbox_Any, Ldc_I4, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e1: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Unbox_Any, Ldc_I4, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>021b: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01fb: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01fb: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>021f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>021f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01fb: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>021f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>021d: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="97" StartColumn="21" EndLine="97" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0249: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>025b: write substitution Variable.&lt;originalVariable&gt;5__11 =&gt; Variable.&lt;variable&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0251: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0251: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0251: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="95" StartColumn="21" EndLine="95" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0227: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="101" StartColumn="25" EndLine="101" EndColumn="50">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>026d: deleting Ldarg, Ldfld, Ldarg, Ldfld, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>026d: deleting Ldarg, Ldfld, Ldarg, Ldfld, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>027e: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0282: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0282: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0282: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0280: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>026e: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>026e: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>026e: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0274: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0274: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0274: read substitution Int32.&lt;oldIndex&gt;5__e =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="92" StartColumn="25" EndLine="92" EndColumn="34">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0222: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="96" StartColumn="21" EndLine="96" EndColumn="66">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0238: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="25" EndLine="102" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0289: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>029b: write substitution Variable.&lt;variable&gt;5__13 =&gt; Variable.&lt;originalVariable&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0291: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0291: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0291: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="101" StartColumn="51" EndLine="101" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0284: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="103" StartColumn="25" EndLine="103" EndColumn="54">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02a0: deleting Ldarg, Ldfld, Callvirt, Ldnull, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02a0: deleting Ldarg, Ldfld, Callvirt, Ldnull, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b1: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b5: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b5: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b5: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b3: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02a1: read substitution Variable.&lt;variable&gt;5__13 =&gt; Variable.&lt;originalVariable&gt;5__11</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="103" StartColumn="55" EndLine="103" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02b7: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="116" StartColumn="25" EndLine="116" EndColumn="82">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0354: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld, Ldarg, Ldc_I4, Stfld, Ldc_I4, Stloc, Leave, Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0354: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0385: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0003</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>036e: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>036e: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>036e: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="44" EndLine="99" EndColumn="70">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>03a1: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03a1: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03b2: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03b4: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03b8: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03b8: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03b8: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03b6: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03a2: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03a2: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03a2: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="108" StartColumn="25" EndLine="114" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02ea: deleting Ldarg, Ldstr, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldarg, Ldfld, Ldarg, Ldfld, Call, Box, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldfld, Stloc, Ldloca, Call, Callvirt, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldfld, Callvirt, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldfld, Callvirt, Stelem_Ref, Ldloc, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0302: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>033d: read substitution Variable.&lt;variable&gt;5__13 =&gt; Variable.&lt;originalVariable&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0302: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0302: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>032e: read substitution Variable.&lt;originalVariable&gt;5__11 =&gt; Variable.&lt;variable&gt;5__13</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="105" StartColumn="25" EndLine="105" EndColumn="72">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02bc: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c3: read substitution Variable.&lt;variable&gt;5__13 =&gt; Variable.&lt;originalVariable&gt;5__11</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="68" StartColumn="37" EndLine="68" EndColumn="75">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>03f0: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03f0: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>040b: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>040d: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0411: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0411: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0411: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>040f: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03f1: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03f1: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03f1: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="119" StartColumn="21" EndLine="119" EndColumn="57">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>03bd: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="65" StartColumn="39" EndLine="65" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0417: deleting Ldarg, Ldfld, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0417: deleting Ldarg, Ldfld, Callvirt, Stloc, Ldloc, Brtrue, Ldarg, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0422: write substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0426: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0426: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0426: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0424: read substitution Boolean.CS$4$0003 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="120" StartColumn="21" EndLine="120" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>03cf: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="106" StartColumn="25" EndLine="106" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02d3: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02da: read substitution Variable.&lt;variable&gt;5__13 =&gt; Variable.&lt;originalVariable&gt;5__11</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="72" EndLine="99" EndColumn="82">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0393: deleting Ldarg, Dup, Ldfld, Ldc_I4, Add, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>039c: write substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>039c: write substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>039c: write substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0395: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0395: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0395: read substitution Int32.&lt;newIndex&gt;5__12 =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>039b: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>039b: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>039b: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>039b: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="68" StartColumn="77" EndLine="68" EndColumn="84">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>03e2: deleting Ldarg, Dup, Ldfld, Ldc_I4, Add, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03eb: write substitution Int32.&lt;index&gt;5__c =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03eb: write substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03eb: write substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03e4: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03e4: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03e4: read substitution Int32.&lt;index&gt;5__c =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03ea: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03ea: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03ea: Add =&gt; Rem</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03ea: Add =&gt; Mul</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;oldIndex&gt;5__e</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__c</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;newIndex&gt;5__12</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Collections.Generic;</Line>
        <Line Number="24">using System.Linq;</Line>
        <Line Number="25" />
        <Line Number="26">using Mono.Cecil;</Line>
        <Line Number="27">using Mono.Cecil.Cil;</Line>
        <Line Number="28" />
        <Line Number="29">namespace NinjaTurtles.Turtles</Line>
        <Line Number="30">{</Line>
        <Line Number="31">    /// &lt;summary&gt;</Line>
        <Line Number="32">    /// An implementation of &lt;see cref="IMethodTurtle" /&gt; that identifies local</Line>
        <Line Number="33">    /// variables of the same type, and permutes any assignments to them. For</Line>
        <Line Number="34">    /// example, if two &lt;see cref="Int32" /&gt; variables &lt;c&gt;a&lt;/c&gt; and &lt;c&gt;b&lt;/c&gt;</Line>
        <Line Number="35">    /// exist, then an assignment to &lt;c&gt;a&lt;/c&gt; will be replaced by one to</Line>
        <Line Number="36">    /// &lt;c&gt;b&lt;/c&gt;, and vice versa.</Line>
        <Line Number="37">    /// &lt;/summary&gt;</Line>
        <Line Number="38">    public class VariableWriteTurtle : MethodTurtleBase</Line>
        <Line Number="39">    {</Line>
        <Line Number="40">        /// &lt;summary&gt;</Line>
        <Line Number="41">        /// Performs the actual code mutations, returning each with</Line>
        <Line Number="42">        /// &lt;c&gt;yield&lt;/c&gt; for the calling code to use.</Line>
        <Line Number="43">        /// &lt;/summary&gt;</Line>
        <Line Number="44">        /// &lt;remarks&gt;</Line>
        <Line Number="45">        /// Implementing classes should yield the result obtained by calling</Line>
        <Line Number="46">        /// the &lt;see mref="DoYield" /&gt; method.</Line>
        <Line Number="47">        /// &lt;/remarks&gt;</Line>
        <Line Number="48">        /// &lt;param name="method"&gt;</Line>
        <Line Number="49">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="50">        /// testing is to be carried out.</Line>
        <Line Number="51">        /// &lt;/param&gt;</Line>
        <Line Number="52">        /// &lt;param name="module"&gt;</Line>
        <Line Number="53">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="54">        /// containing assembly.</Line>
        <Line Number="55">        /// &lt;/param&gt;</Line>
        <Line Number="56">        /// &lt;returns&gt;</Line>
        <Line Number="57">        /// An &lt;see cref="IEnumerable{T}" /&gt; of</Line>
        <Line Number="58">        /// &lt;see cref="MutantMetaData" /&gt; structures.</Line>
        <Line Number="59">        /// &lt;/returns&gt;</Line>
        <Line Number="60">        protected override IEnumerable&lt;MutantMetaData&gt; DoMutate(MethodDefinition method, Module module)</Line>
        <Line Number="61">        {</Line>
        <Line Number="62">            var variablesByType = GroupVariablesByType(method);</Line>
        <Line Number="63">            PopulateOperandsInVariables(method, variablesByType);</Line>
        <Line Number="64" />
        <Line Number="65">            foreach (var keyValuePair in variablesByType.Where(kv =&gt; kv.Value.Count &gt; 1))</Line>
        <Line Number="66">            {</Line>
        <Line Number="67">                var variables = keyValuePair.Value.ToList();</Line>
        <Line Number="68">                for (int index = 0; index &lt; method.Body.Instructions.Count; index++)</Line>
        <Line Number="69">                {</Line>
        <Line Number="70">                    var instruction = method.Body.Instructions[index];</Line>
        <Line Number="71">                    if (instruction.IsPartOfCompilerGeneratedDispose()) continue;</Line>
        <Line Number="72" />
        <Line Number="73">                    int oldIndex = -1;</Line>
        <Line Number="74">                    if (instruction.OpCode == OpCodes.Stloc)</Line>
        <Line Number="75">                    {</Line>
        <Line Number="76">                        int variableIndex = ((VariableDefinition)instruction.Operand).Index;</Line>
        <Line Number="77">                        oldIndex = variables.FindIndex(v =&gt; v.Type == VariableType.Local &amp;&amp; v.Index == variableIndex);</Line>
        <Line Number="78">                    }</Line>
        <Line Number="79">                    if (instruction.OpCode == OpCodes.Stfld)</Line>
        <Line Number="80">                    {</Line>
        <Line Number="81">                        string fieldName = ((FieldDefinition)instruction.Operand).Name;</Line>
        <Line Number="82">                        oldIndex = variables.FindIndex(v =&gt; v.Type == VariableType.Field &amp;&amp; v.Name == fieldName);</Line>
        <Line Number="83">                    }</Line>
        <Line Number="84" />
        <Line Number="85">                    if (oldIndex &lt; 0) continue;</Line>
        <Line Number="86" />
        <Line Number="87">                    // Skip if could be initialising to zero, as in reality</Line>
        <Line Number="88">                    // this has already been done by the CLR.</Line>
        <Line Number="89">                    if (instruction.Previous.OpCode == OpCodes.Ldc_I4</Line>
        <Line Number="90">                        &amp;&amp; (int)instruction.Previous.Operand == 0)</Line>
        <Line Number="91">                    {</Line>
        <Line Number="92">                        continue;</Line>
        <Line Number="93">                    }</Line>
        <Line Number="94" />
        <Line Number="95">                    OpCode originalOpCode = instruction.OpCode;</Line>
        <Line Number="96">                    object originalOperand = instruction.Operand;</Line>
        <Line Number="97">                    var originalVariable = variables[oldIndex];</Line>
        <Line Number="98" />
        <Line Number="99">                    for (int newIndex = 0; newIndex &lt; variables.Count; newIndex++)</Line>
        <Line Number="100">                    {</Line>
        <Line Number="101">                        if (newIndex == oldIndex) continue;</Line>
        <Line Number="102">                        var variable = variables[newIndex];</Line>
        <Line Number="103">                        if (variable.Operand == null) continue;</Line>
        <Line Number="104" />
        <Line Number="105">                        instruction.OpCode = variable.GetWriteOpCode();</Line>
        <Line Number="106">                        instruction.Operand = variable.Operand;</Line>
        <Line Number="107" />
        <Line Number="108">                        var description =</Line>
        <Line Number="109">                            string.Format(</Line>
        <Line Number="110">                                "{0:x4}: write substitution {1}.{2} =&gt; {1}.{3}",</Line>
        <Line Number="111">                                GetOriginalOffset(index),</Line>
        <Line Number="112">                                keyValuePair.Key.Name,</Line>
        <Line Number="113">                                originalVariable.Name,</Line>
        <Line Number="114">                                variable.Name);</Line>
        <Line Number="115" />
        <Line Number="116">                        yield return DoYield(method, module, description, index);</Line>
        <Line Number="117" />
        <Line Number="118">                    }</Line>
        <Line Number="119">                    instruction.OpCode = originalOpCode;</Line>
        <Line Number="120">                    instruction.Operand = originalOperand;</Line>
        <Line Number="121">                }</Line>
        <Line Number="122">            }</Line>
        <Line Number="123">        }</Line>
        <Line Number="124" />
        <Line Number="125">        private static IDictionary&lt;TypeReference, IList&lt;Variable&gt;&gt; GroupVariablesByType(MethodDefinition method)</Line>
        <Line Number="126">        {</Line>
        <Line Number="127">            IDictionary&lt;TypeReference, IList&lt;Variable&gt;&gt; variables = new Dictionary&lt;TypeReference, IList&lt;Variable&gt;&gt;();</Line>
        <Line Number="128">            foreach (var variable in method.Body.Variables)</Line>
        <Line Number="129">            {</Line>
        <Line Number="130">                var type = variable.VariableType;</Line>
        <Line Number="131">                if (!variables.ContainsKey(type))</Line>
        <Line Number="132">                {</Line>
        <Line Number="133">                    variables.Add(type, new List&lt;Variable&gt;());</Line>
        <Line Number="134">                }</Line>
        <Line Number="135">                variables[type].Add(new Variable(VariableType.Local, variable.Index, variable.Name));</Line>
        <Line Number="136">            }</Line>
        <Line Number="137">            foreach (var field in method.DeclaringType.Fields)</Line>
        <Line Number="138">            {</Line>
        <Line Number="139">                if (field.Name == "&lt;&gt;1__state") continue;</Line>
        <Line Number="140">                var type = field.FieldType;</Line>
        <Line Number="141">                if (!variables.ContainsKey(type))</Line>
        <Line Number="142">                {</Line>
        <Line Number="143">                    variables.Add(type, new List&lt;Variable&gt;());</Line>
        <Line Number="144">                }</Line>
        <Line Number="145">                variables[type].Add(new Variable(VariableType.Field, -1, field.Name));</Line>
        <Line Number="146">            }</Line>
        <Line Number="147">            return variables;</Line>
        <Line Number="148">        }</Line>
        <Line Number="149" />
        <Line Number="150">        private static void PopulateOperandsInVariables(MethodDefinition method, IDictionary&lt;TypeReference, IList&lt;Variable&gt;&gt; variables)</Line>
        <Line Number="151">        {</Line>
        <Line Number="152">            foreach (var instruction in method.Body.Instructions)</Line>
        <Line Number="153">            {</Line>
        <Line Number="154">                if (instruction.OpCode == OpCodes.Ldloc)</Line>
        <Line Number="155">                {</Line>
        <Line Number="156">                    var variableDefinition = (VariableDefinition)instruction.Operand;</Line>
        <Line Number="157">                    int index = variableDefinition.Index;</Line>
        <Line Number="158">                    if (!variables.ContainsKey(variableDefinition.VariableType)) continue;</Line>
        <Line Number="159">                    var variable =</Line>
        <Line Number="160">                        variables[variableDefinition.VariableType]</Line>
        <Line Number="161">                            .SingleOrDefault(v =&gt; v.Type == VariableType.Local &amp;&amp; v.Index == index);</Line>
        <Line Number="162">                    if (variable != null)</Line>
        <Line Number="163">                    {</Line>
        <Line Number="164">                        variable.Operand = instruction.Operand;</Line>
        <Line Number="165">                    }</Line>
        <Line Number="166">                }</Line>
        <Line Number="167">                if (instruction.OpCode == OpCodes.Ldfld)</Line>
        <Line Number="168">                {</Line>
        <Line Number="169">                    var fieldDefinition = (FieldDefinition)instruction.Operand;</Line>
        <Line Number="170">                    string name = fieldDefinition.Name;</Line>
        <Line Number="171">                    if (!variables.ContainsKey(fieldDefinition.FieldType)) continue;</Line>
        <Line Number="172">                    var variable =</Line>
        <Line Number="173">                        variables[fieldDefinition.FieldType]</Line>
        <Line Number="174">                            .SingleOrDefault(v =&gt; v.Type == VariableType.Field &amp;&amp; v.Name == name);</Line>
        <Line Number="175">                    if (variable != null)</Line>
        <Line Number="176">                    {</Line>
        <Line Number="177">                        variable.Operand = instruction.Operand;</Line>
        <Line Number="178">                    }</Line>
        <Line Number="179">                }</Line>
        <Line Number="180">            }</Line>
        <Line Number="181">        }</Line>
        <Line Number="182">    }</Line>
        <Line Number="183">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\VariableReadTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="63" StartColumn="13" EndLine="63" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>003c: deleting Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="64" StartColumn="13" EndLine="64" EndColumn="66">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0052: deleting Ldarg, Ldfld, Ldarg, Ldfld, Ldfld, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="66" StartColumn="13" EndLine="66" EndColumn="79">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0069: deleting Ldarg, Ldfld, Ldfld, Ldarg, Ldfld, Ldftn, Newobj, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0069: deleting Ldarg, Ldfld, Ldfld, Ldarg, Ldfld, Ldftn, Newobj, Call, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008a: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008e: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008e: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008e: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008c: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="71" StartColumn="42" EndLine="71" EndColumn="89">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0097: deleting Ldarg, Ldarg, Ldfld, Ldfld, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0097: deleting Ldarg, Ldarg, Ldfld, Ldfld, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stfld, Ldarg, Ldc_I4, Stfld, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a8: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a8: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a8: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="71" StartColumn="22" EndLine="71" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00dd: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="73" StartColumn="17" EndLine="73" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ef: deleting Ldarg, Ldarg, Ldfld, Stloc, Ldloca, Call, Call, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="76" StartColumn="21" EndLine="76" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0116: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0128: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0128: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0128: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="77" StartColumn="21" EndLine="77" EndColumn="103">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0137: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0137: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016e: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0172: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0172: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0172: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0170: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="80" StartColumn="21" EndLine="80" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0180: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue, Newobj, Stloc, Ldloc, Ldarg, Ldfld, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0180: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0198: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019a: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="85" StartColumn="21" EndLine="85" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01ea: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ea: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue, Newobj, Stloc, Ldloc, Ldarg, Ldfld, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0202: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0206: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0206: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0206: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0204: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="82" StartColumn="25" EndLine="82" EndColumn="98">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01b1: deleting Ldloc, Ldarg, Ldfld, Callvirt, Castclass, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="83" StartColumn="25" EndLine="83" EndColumn="124">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01cc: deleting Ldarg, Ldarg, Ldfld, Ldloc, Ldftn, Newobj, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e4: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e4: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e4: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="90" StartColumn="21" EndLine="90" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0254: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue, Newobj, Stloc, Ldloc, Ldarg, Ldfld, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0254: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>026c: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0270: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0270: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0270: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>026e: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="77" StartColumn="104" EndLine="77" EndColumn="113">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0174: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="96" StartColumn="39" EndLine="96" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02d0: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="96" StartColumn="21" EndLine="96" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02be: deleting Ldarg, Ldfld, Ldc_I4, Clt, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02be: deleting Ldarg, Ldfld, Ldc_I4, Clt, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c5: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ca: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ce: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ce: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ce: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02cc: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02bf: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02bf: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02bf: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="100" StartColumn="21" EndLine="100" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02f7: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0309: write substitution Variable.&lt;originalVariable&gt;5__16 =&gt; Variable.&lt;variable&gt;5__18</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ff: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ff: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ff: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="104" StartColumn="25" EndLine="104" EndColumn="50">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>031b: deleting Ldarg, Ldfld, Ldarg, Ldfld, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>031b: deleting Ldarg, Ldfld, Ldarg, Ldfld, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>032c: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0330: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0330: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0330: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>032e: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>031c: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>031c: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0322: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>031c: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0322: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0322: read substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="98" StartColumn="21" EndLine="98" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02d5: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="88" StartColumn="25" EndLine="88" EndColumn="119">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0236: deleting Ldarg, Ldarg, Ldfld, Ldloc, Ldftn, Newobj, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>024e: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>024e: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>024e: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="21" EndLine="99" EndColumn="66">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02e6: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="105" StartColumn="25" EndLine="105" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0337: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0349: write substitution Variable.&lt;variable&gt;5__18 =&gt; Variable.&lt;originalVariable&gt;5__16</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>033f: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>033f: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>033f: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="106" StartColumn="25" EndLine="106" EndColumn="54">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>034e: deleting Ldarg, Ldfld, Callvirt, Ldnull, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>034e: deleting Ldarg, Ldfld, Callvirt, Ldnull, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>035f: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0363: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0363: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0363: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0361: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>034f: read substitution Variable.&lt;variable&gt;5__18 =&gt; Variable.&lt;originalVariable&gt;5__16</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="68" StartColumn="17" EndLine="68" EndColumn="29">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0091: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="92" StartColumn="25" EndLine="92" EndColumn="88">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0285: deleting Ldloc, Ldarg, Ldfld, Callvirt, Castclass, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="108" StartColumn="25" EndLine="113" EndColumn="117">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>036a: deleting Ldarg, Ldfld, Callvirt, Ldc_I4, Bne_Un, Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Castclass, Callvirt, Ldarg, Ldfld, Callvirt, Callvirt, Castclass, Callvirt, Bne_Un, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Castclass, Callvirt, Ldarg, Ldfld, Callvirt, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>036a: deleting Ldarg, Ldfld, Callvirt, Ldc_I4, Bne_Un, Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Castclass, Callvirt, Ldarg, Ldfld, Callvirt, Callvirt, Castclass, Callvirt, Bne_Un, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Ldsfld, Call, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Castclass, Callvirt, Ldarg, Ldfld, Callvirt, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0438: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0404: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03af: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03af: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>043c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>043c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0390: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0390: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0390: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>03af: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0404: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0404: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>043c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>043a: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>036b: read substitution Variable.&lt;variable&gt;5__18 =&gt; Variable.&lt;originalVariable&gt;5__16</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0426: read substitution Variable.&lt;variable&gt;5__18 =&gt; Variable.&lt;originalVariable&gt;5__16</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="21" EndLine="79" EndColumn="39">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0179: deleting Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>017b: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>017b: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>017b: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="122" StartColumn="25" EndLine="122" EndColumn="76">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0444: deleting Ldarg, Ldfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0444: deleting Ldarg, Ldfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0452: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0456: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0456: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0456: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0454: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="104" StartColumn="51" EndLine="104" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0332: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="87" StartColumn="25" EndLine="87" EndColumn="93">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>021b: deleting Ldloc, Ldarg, Ldfld, Callvirt, Castclass, Callvirt, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="127" StartColumn="25" EndLine="127" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>045e: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0465: read substitution Variable.&lt;variable&gt;5__18 =&gt; Variable.&lt;originalVariable&gt;5__16</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="93" StartColumn="25" EndLine="93" EndColumn="114">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02a0: deleting Ldarg, Ldarg, Ldfld, Ldloc, Ldftn, Newobj, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b8: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b8: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02b8: write substitution Int32.&lt;oldIndex&gt;5__13 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="106" StartColumn="55" EndLine="106" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0365: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="128" StartColumn="25" EndLine="128" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0475: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>047c: read substitution Variable.&lt;variable&gt;5__18 =&gt; Variable.&lt;originalVariable&gt;5__16</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="138" StartColumn="25" EndLine="138" EndColumn="90">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>04f6: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0510: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0510: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0510: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="44" EndLine="102" EndColumn="70">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>054f: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>054f: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0560: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0562: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0566: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0566: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0566: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0564: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0550: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0550: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0550: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="130" StartColumn="25" EndLine="136" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>048c: deleting Ldarg, Ldstr, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldarg, Ldfld, Ldarg, Ldfld, Call, Box, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldfld, Stloc, Ldloca, Call, Callvirt, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldfld, Callvirt, Stelem_Ref, Ldloc, Ldc_I4, Ldarg, Ldfld, Callvirt, Stelem_Ref, Ldloc, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>04a4: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>04a4: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>04a4: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>04d0: read substitution Variable.&lt;originalVariable&gt;5__16 =&gt; Variable.&lt;variable&gt;5__18</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>04df: read substitution Variable.&lt;variable&gt;5__18 =&gt; Variable.&lt;originalVariable&gt;5__16</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="74" StartColumn="37" EndLine="74" EndColumn="75">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>059e: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>059e: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05b9: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05bb: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05bf: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05bf: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05bf: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05bd: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>059f: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>059f: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>059f: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="139" StartColumn="25" EndLine="139" EndColumn="53">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>051f: deleting Ldarg, Ldarg, Ldfld, Stfld, Ldarg, Ldc_I4, Stfld, Ldc_I4, Stloc, Leave, Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>051f: deleting Ldarg, Ldarg, Ldfld, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0533: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0526: write substitution MutantMetaData.&lt;&gt;2__current =&gt; MutantMetaData.&lt;mutantMetaData&gt;5__1a</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="119" StartColumn="29" EndLine="119" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>043f: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="142" StartColumn="21" EndLine="142" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>057d: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="71" StartColumn="39" EndLine="71" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>05c5: deleting Ldarg, Ldfld, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05c5: deleting Ldarg, Ldfld, Callvirt, Stloc, Ldloc, Brtrue, Ldarg, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05d0: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05d4: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05d4: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05d4: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>05d2: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="141" StartColumn="21" EndLine="141" EndColumn="57">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>056b: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="124" StartColumn="29" EndLine="124" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0459: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="72" EndLine="102" EndColumn="82">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0541: deleting Ldarg, Dup, Ldfld, Ldc_I4, Add, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>054a: write substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>054a: write substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>054a: write substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0543: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0543: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0543: read substitution Int32.&lt;newIndex&gt;5__17 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0549: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0549: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0549: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0549: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="74" StartColumn="77" EndLine="74" EndColumn="84">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0590: deleting Ldarg, Dup, Ldfld, Ldc_I4, Add, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0599: write substitution Int32.&lt;index&gt;5__11 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0599: write substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0599: write substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0592: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0592: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0592: read substitution Int32.&lt;index&gt;5__11 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0598: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0598: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0598: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0598: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__11</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;oldIndex&gt;5__13</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;newIndex&gt;5__17</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Collections.Generic;</Line>
        <Line Number="24">using System.Linq;</Line>
        <Line Number="25" />
        <Line Number="26">using Mono.Cecil;</Line>
        <Line Number="27">using Mono.Cecil.Cil;</Line>
        <Line Number="28" />
        <Line Number="29">namespace NinjaTurtles.Turtles</Line>
        <Line Number="30">{</Line>
        <Line Number="31">    /// &lt;summary&gt;</Line>
        <Line Number="32">    /// An implementation of &lt;see cref="IMethodTurtle" /&gt; that identifies local</Line>
        <Line Number="33">    /// variables, method parameters and fields of the same type, and permutes</Line>
        <Line Number="34">    /// any reads from them. For example, if two &lt;see cref="Int32" /&gt;</Line>
        <Line Number="35">    /// parameters &lt;c&gt;a&lt;/c&gt; and &lt;c&gt;b&lt;/c&gt; exist, along with a local variable</Line>
        <Line Number="36">    /// &lt;c&gt;c&lt;/c&gt; of the same type, then a read from &lt;c&gt;a&lt;/c&gt; will be replaced</Line>
        <Line Number="37">    /// by one from &lt;c&gt;b&lt;/c&gt; and &lt;c&gt;c&lt;/c&gt; in turn, and so on.</Line>
        <Line Number="38">    /// &lt;/summary&gt;</Line>
        <Line Number="39">    public class VariableReadTurtle : MethodTurtleBase</Line>
        <Line Number="40">    {</Line>
        <Line Number="41">        /// &lt;summary&gt;</Line>
        <Line Number="42">        /// Performs the actual code mutations, returning each with</Line>
        <Line Number="43">        /// &lt;c&gt;yield&lt;/c&gt; for the calling code to use.</Line>
        <Line Number="44">        /// &lt;/summary&gt;</Line>
        <Line Number="45">        /// &lt;remarks&gt;</Line>
        <Line Number="46">        /// Implementing classes should yield the result obtained by calling</Line>
        <Line Number="47">        /// the &lt;see mref="DoYield" /&gt; method.</Line>
        <Line Number="48">        /// &lt;/remarks&gt;</Line>
        <Line Number="49">        /// &lt;param name="method"&gt;</Line>
        <Line Number="50">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="51">        /// testing is to be carried out.</Line>
        <Line Number="52">        /// &lt;/param&gt;</Line>
        <Line Number="53">        /// &lt;param name="module"&gt;</Line>
        <Line Number="54">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="55">        /// containing assembly.</Line>
        <Line Number="56">        /// &lt;/param&gt;</Line>
        <Line Number="57">        /// &lt;returns&gt;</Line>
        <Line Number="58">        /// An &lt;see cref="IEnumerable{T}" /&gt; of</Line>
        <Line Number="59">        /// &lt;see cref="MutantMetaData" /&gt; structures.</Line>
        <Line Number="60">        /// &lt;/returns&gt;</Line>
        <Line Number="61">        protected override IEnumerable&lt;MutantMetaData&gt; DoMutate(MethodDefinition method, Module module)</Line>
        <Line Number="62">        {</Line>
        <Line Number="63">            var variablesByType = GroupVariablesByType(method);</Line>
        <Line Number="64">            PopulateOperandsInVariables(method, variablesByType);</Line>
        <Line Number="65" />
        <Line Number="66">            if (!variablesByType.Any(kv =&gt; variablesByType[kv.Key].Count &gt; 1))</Line>
        <Line Number="67">            {</Line>
        <Line Number="68">                yield break;</Line>
        <Line Number="69">            }</Line>
        <Line Number="70" />
        <Line Number="71">            foreach (var keyValuePair in variablesByType.Where(kv =&gt; kv.Value.Count &gt; 1))</Line>
        <Line Number="72">            {</Line>
        <Line Number="73">                var variables = keyValuePair.Value.ToList();</Line>
        <Line Number="74">                for (int index = 0; index &lt; method.Body.Instructions.Count; index++)</Line>
        <Line Number="75">                {</Line>
        <Line Number="76">                    var instruction = method.Body.Instructions[index];</Line>
        <Line Number="77">                    if (instruction.OpCode == OpCodes.Ldloc &amp;&amp; instruction.Next.OpCode == OpCodes.Ret) continue;</Line>
        <Line Number="78" />
        <Line Number="79">                    int oldIndex = -1;</Line>
        <Line Number="80">                    if (instruction.OpCode == OpCodes.Ldarg)</Line>
        <Line Number="81">                    {</Line>
        <Line Number="82">                        int parameterIndex = ((ParameterDefinition)instruction.Operand).Sequence;</Line>
        <Line Number="83">                        oldIndex = variables.FindIndex(v =&gt; v.Type == VariableType.Parameter &amp;&amp; v.Index == parameterIndex);</Line>
        <Line Number="84">                    }</Line>
        <Line Number="85">                    if (instruction.OpCode == OpCodes.Ldloc)</Line>
        <Line Number="86">                    {</Line>
        <Line Number="87">                        int variableIndex = ((VariableDefinition)instruction.Operand).Index;</Line>
        <Line Number="88">                        oldIndex = variables.FindIndex(v =&gt; v.Type == VariableType.Local &amp;&amp; v.Index == variableIndex);</Line>
        <Line Number="89">                    }</Line>
        <Line Number="90">                    if (instruction.OpCode == OpCodes.Ldfld)</Line>
        <Line Number="91">                    {</Line>
        <Line Number="92">                        string fieldName = ((FieldDefinition)instruction.Operand).Name;</Line>
        <Line Number="93">                        oldIndex = variables.FindIndex(v =&gt; v.Type == VariableType.Field &amp;&amp; v.Name == fieldName);</Line>
        <Line Number="94">                    }</Line>
        <Line Number="95" />
        <Line Number="96">                    if (oldIndex &lt; 0) continue;</Line>
        <Line Number="97" />
        <Line Number="98">                    OpCode originalOpCode = instruction.OpCode;</Line>
        <Line Number="99">                    object originalOperand = instruction.Operand;</Line>
        <Line Number="100">                    var originalVariable = variables[oldIndex];</Line>
        <Line Number="101" />
        <Line Number="102">                    for (int newIndex = 0; newIndex &lt; variables.Count; newIndex++)</Line>
        <Line Number="103">                    {</Line>
        <Line Number="104">                        if (newIndex == oldIndex) continue;</Line>
        <Line Number="105">                        var variable = variables[newIndex];</Line>
        <Line Number="106">                        if (variable.Operand == null) continue;</Line>
        <Line Number="107" />
        <Line Number="108">                        if (variable.Type == VariableType.Parameter</Line>
        <Line Number="109">                            &amp;&amp; instruction.OpCode == OpCodes.Ldloc</Line>
        <Line Number="110">                            &amp;&amp; instruction.Previous.OpCode == OpCodes.Stloc</Line>
        <Line Number="111">                            &amp;&amp; ((VariableDefinition)instruction.Operand).Index == ((VariableDefinition)instruction.Previous.Operand).Index</Line>
        <Line Number="112">                            &amp;&amp; instruction.Previous.Previous.OpCode == OpCodes.Ldarg</Line>
        <Line Number="113">                            &amp;&amp; ((ParameterDefinition)instruction.Previous.Previous.Operand).Index == variable.Index)</Line>
        <Line Number="114">                        {</Line>
        <Line Number="115">                            // The .NET compiler sometimes adds a pointless</Line>
        <Line Number="116">                            // cache of a parameter into a local variable</Line>
        <Line Number="117">                            // (oddly, Mono doesn't seem to). We need to not</Line>
        <Line Number="118">                            // mutate in this scenario.</Line>
        <Line Number="119">                            continue;</Line>
        <Line Number="120">                        }</Line>
        <Line Number="121" />
        <Line Number="122">                        if (instruction.IsPartOfCompilerGeneratedDispose())</Line>
        <Line Number="123">                        {</Line>
        <Line Number="124">                            continue;</Line>
        <Line Number="125">                        }</Line>
        <Line Number="126" />
        <Line Number="127">                        instruction.OpCode = variable.GetReadOpCode();</Line>
        <Line Number="128">                        instruction.Operand = variable.Operand;</Line>
        <Line Number="129" />
        <Line Number="130">                        var description =</Line>
        <Line Number="131">                            string.Format(</Line>
        <Line Number="132">                                "{0:x4}: read substitution {1}.{2} =&gt; {1}.{3}",</Line>
        <Line Number="133">                                GetOriginalOffset(index),</Line>
        <Line Number="134">                                keyValuePair.Key.Name,</Line>
        <Line Number="135">                                originalVariable.Name,</Line>
        <Line Number="136">                                variable.Name);</Line>
        <Line Number="137" />
        <Line Number="138">                        var mutantMetaData = DoYield(method, module, description, index);</Line>
        <Line Number="139">                        yield return mutantMetaData;</Line>
        <Line Number="140">                    }</Line>
        <Line Number="141">                    instruction.OpCode = originalOpCode;</Line>
        <Line Number="142">                    instruction.Operand = originalOperand;</Line>
        <Line Number="143">                }</Line>
        <Line Number="144">            }</Line>
        <Line Number="145">        }</Line>
        <Line Number="146" />
        <Line Number="147">        private static IDictionary&lt;TypeReference, IList&lt;Variable&gt;&gt; GroupVariablesByType(MethodDefinition method)</Line>
        <Line Number="148">        {</Line>
        <Line Number="149">            IDictionary&lt;TypeReference, IList&lt;Variable&gt;&gt; variables = new Dictionary&lt;TypeReference, IList&lt;Variable&gt;&gt;();</Line>
        <Line Number="150">            int offset = method.IsStatic ? 0 : 1;</Line>
        <Line Number="151">            foreach (var parameter in method.Parameters)</Line>
        <Line Number="152">            {</Line>
        <Line Number="153">                var type = parameter.ParameterType;</Line>
        <Line Number="154">                if (!variables.ContainsKey(type))</Line>
        <Line Number="155">                {</Line>
        <Line Number="156">                    variables.Add(type, new List&lt;Variable&gt;());</Line>
        <Line Number="157">                }</Line>
        <Line Number="158">                variables[type].Add(new Variable(VariableType.Parameter, parameter.Index + offset, parameter.Name));</Line>
        <Line Number="159">            }</Line>
        <Line Number="160">            foreach (var variable in method.Body.Variables)</Line>
        <Line Number="161">            {</Line>
        <Line Number="162">                var type = variable.VariableType;</Line>
        <Line Number="163">                if (!variables.ContainsKey(type))</Line>
        <Line Number="164">                {</Line>
        <Line Number="165">                    variables.Add(type, new List&lt;Variable&gt;());</Line>
        <Line Number="166">                }</Line>
        <Line Number="167">                variables[type].Add(new Variable(VariableType.Local, variable.Index, variable.Name));</Line>
        <Line Number="168">            }</Line>
        <Line Number="169">            foreach (var field in method.DeclaringType.Fields)</Line>
        <Line Number="170">            {</Line>
        <Line Number="171">                if (field.Name == "&lt;&gt;1__state") continue;</Line>
        <Line Number="172">                var type = field.FieldType;</Line>
        <Line Number="173">                if (!variables.ContainsKey(type))</Line>
        <Line Number="174">                {</Line>
        <Line Number="175">                    variables.Add(type, new List&lt;Variable&gt;());</Line>
        <Line Number="176">                }</Line>
        <Line Number="177">                variables[type].Add(new Variable(VariableType.Field, -1, field.Name));</Line>
        <Line Number="178">            }</Line>
        <Line Number="179">            return variables;</Line>
        <Line Number="180">        }</Line>
        <Line Number="181" />
        <Line Number="182">        private static void PopulateOperandsInVariables(MethodDefinition method, IDictionary&lt;TypeReference, IList&lt;Variable&gt;&gt; variables)</Line>
        <Line Number="183">        {</Line>
        <Line Number="184">            foreach (var instruction in method.Body.Instructions)</Line>
        <Line Number="185">            {</Line>
        <Line Number="186">                if (instruction.OpCode == OpCodes.Ldarg)</Line>
        <Line Number="187">                {</Line>
        <Line Number="188">                    var parameterDefinition = (ParameterDefinition)instruction.Operand;</Line>
        <Line Number="189">                    int sequence = parameterDefinition.Sequence;</Line>
        <Line Number="190">                    if (!variables.ContainsKey(parameterDefinition.ParameterType)) continue;</Line>
        <Line Number="191">                    var variable =</Line>
        <Line Number="192">                        variables[parameterDefinition.ParameterType]</Line>
        <Line Number="193">                            .SingleOrDefault(v =&gt; v.Type == VariableType.Parameter &amp;&amp; v.Index == sequence);</Line>
        <Line Number="194">                    if (variable != null)</Line>
        <Line Number="195">                    {</Line>
        <Line Number="196">                        variable.Operand = instruction.Operand;</Line>
        <Line Number="197">                    }</Line>
        <Line Number="198">                }</Line>
        <Line Number="199">                if (instruction.OpCode == OpCodes.Ldloc)</Line>
        <Line Number="200">                {</Line>
        <Line Number="201">                    var variableDefinition = (VariableDefinition)instruction.Operand;</Line>
        <Line Number="202">                    int index = variableDefinition.Index;</Line>
        <Line Number="203">                    if (!variables.ContainsKey(variableDefinition.VariableType)) continue;</Line>
        <Line Number="204">                    var variable =</Line>
        <Line Number="205">                        variables[variableDefinition.VariableType]</Line>
        <Line Number="206">                            .SingleOrDefault(v =&gt; v.Type == VariableType.Local &amp;&amp; v.Index == index);</Line>
        <Line Number="207">                    if (variable != null)</Line>
        <Line Number="208">                    {</Line>
        <Line Number="209">                        variable.Operand = instruction.Operand;</Line>
        <Line Number="210">                    }</Line>
        <Line Number="211">                }</Line>
        <Line Number="212">                if (instruction.OpCode == OpCodes.Ldfld)</Line>
        <Line Number="213">                {</Line>
        <Line Number="214">                    var fieldDefinition = (FieldDefinition)instruction.Operand;</Line>
        <Line Number="215">                    string name = fieldDefinition.Name;</Line>
        <Line Number="216">                    if (!variables.ContainsKey(fieldDefinition.FieldType)) continue;</Line>
        <Line Number="217">                    var variable =</Line>
        <Line Number="218">                        variables[fieldDefinition.FieldType]</Line>
        <Line Number="219">                            .SingleOrDefault(v =&gt; v.Type == VariableType.Field &amp;&amp; v.Name == name);</Line>
        <Line Number="220">                    if (variable != null)</Line>
        <Line Number="221">                    {</Line>
        <Line Number="222">                        variable.Operand = instruction.Operand;</Line>
        <Line Number="223">                    }</Line>
        <Line Number="224">                }</Line>
        <Line Number="225">            }</Line>
        <Line Number="226">        }</Line>
        <Line Number="227">    }</Line>
        <Line Number="228">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\SequencePointDeletionTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="96" StartColumn="13" EndLine="96" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002e: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0030: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0030: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0030: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="97" StartColumn="13" EndLine="97" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0039: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0039: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0044: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0044: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0044: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0067: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="98" StartColumn="13" EndLine="98" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0071: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0071: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009e: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a0: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a0: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a0: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009f: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="97" StartColumn="60" EndLine="97" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>006a: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="13" EndLine="99" EndColumn="59">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a9: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a9: deleting Ldarg, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d6: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b4: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b4: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b4: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d8: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d8: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d8: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d7: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="98" StartColumn="62" EndLine="98" EndColumn="75">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a2: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="96" StartColumn="60" EndLine="96" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0032: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="13" EndLine="102" EndColumn="55">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00e1: deleting Ldarg, Callvirt, Call, Stloc, Ldloca, Call, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e1: deleting Ldarg, Callvirt, Call, Stloc, Ldloca, Call, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fb: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fd: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fd: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fd: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fc: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="60" EndLine="99" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00da: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="104" StartColumn="17" EndLine="105" EndColumn="76">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0103: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Callvirt, Callvirt, Castclass, Callvirt, Ldarg, Callvirt, Ldarg, Callvirt, Call, Ldc_I4, Add, Callvirt, Callvirt, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Callvirt, Callvirt, Castclass, Callvirt, Ldarg, Callvirt, Ldarg, Callvirt, Call, Ldc_I4, Add, Callvirt, Callvirt, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014a: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014b: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>013a: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>013a: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>013a: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>013a: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="107" StartColumn="21" EndLine="107" EndColumn="92">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>014f: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Ldc_I4, Add, Callvirt, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014f: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Ldc_I4, Add, Callvirt, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0179: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>017b: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>017b: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>017b: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>017a: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0161: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0161: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0161: Add =&gt; Rem</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0161: Add =&gt; Div</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="115" StartColumn="13" EndLine="115" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0187: deleting Ldarg, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0187: deleting Ldarg, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01af: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b1: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b1: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b1: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b0: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="117" StartColumn="17" EndLine="117" EndColumn="147">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01b4: deleting Ldarg, Callvirt, Ldarg, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Stloc, Ldloca, Call, Callvirt, Callvirt, Castclass, Callvirt, Ldstr, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b4: deleting Ldarg, Callvirt, Ldarg, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Stloc, Ldloca, Call, Callvirt, Callvirt, Castclass, Callvirt, Ldstr, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0208: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c0: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>020a: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c0: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c0: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>020a: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>020a: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0209: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="109" StartColumn="25" EndLine="109" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>017e: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="124" StartColumn="13" EndLine="124" EndColumn="94">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0215: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Callvirt, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0215: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Callvirt, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0233: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0235: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0235: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0235: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0234: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="119" StartColumn="21" EndLine="119" EndColumn="34">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>020d: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="130" StartColumn="13" EndLine="132" EndColumn="84">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>023f: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Callvirt, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Call, Brfalse, Ldarg, Callvirt, Ldarg, Callvirt, Call, Ldc_I4, Add, Callvirt, Callvirt, Unbox_Any, Ldc_I4, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>023f: deleting Ldarg, Callvirt, Ldarg, Callvirt, Call, Callvirt, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Call, Brfalse, Ldarg, Callvirt, Ldarg, Callvirt, Call, Ldc_I4, Add, Callvirt, Callvirt, Unbox_Any, Ldc_I4, Ceq, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c7: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>029a: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>029a: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c9: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c9: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>029a: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c9: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c8: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ae: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ae: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ae: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ae: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="126" StartColumn="17" EndLine="126" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0238: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="134" StartColumn="17" EndLine="134" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02cc: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="137" StartColumn="13" EndLine="137" EndColumn="25">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02d1: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="138" StartColumn="9" EndLine="138" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="59" StartColumn="13" EndLine="59" EndColumn="58">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002b: deleting Ldarg, Newobj, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="63" StartColumn="17" EndLine="63" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004a: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005c: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005c: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="64" StartColumn="17" EndLine="65" EndColumn="72">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>006b: deleting Ldarg, Ldfld, Callvirt, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006b: deleting Ldarg, Ldfld, Callvirt, Brfalse, Ldarg, Ldfld, Callvirt, Callvirt, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0076: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0076: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0076: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0094: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0094: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0094: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="67" StartColumn="21" EndLine="67" EndColumn="40">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0097: deleting Ldarg, Ldarg, Ldfld, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009e: write substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009e: write substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0099: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0099: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="60" StartColumn="13" EndLine="60" EndColumn="33">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0036: deleting Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0038: write substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0038: write substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="68" StartColumn="21" EndLine="68" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a3: deleting Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="72" StartColumn="21" EndLine="72" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00be: deleting Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c5: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c5: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="70" StartColumn="17" EndLine="70" EndColumn="37">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00b0: deleting Ldarg, Ldfld, Ldc_I4, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b0: deleting Ldarg, Ldfld, Ldc_I4, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b7: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b9: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bb: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bb: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00bb: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ba: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b1: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b1: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="76" StartColumn="21" EndLine="76" EndColumn="70">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0119: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Ldarg, Ldfld, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0119: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Ldarg, Ldfld, Callvirt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0135: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0137: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0137: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0137: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0136: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="81" StartColumn="21" EndLine="81" EndColumn="85">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01b0: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Ldarg, Ldfld, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c1: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c1: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="78" StartColumn="21" EndLine="78" EndColumn="89">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>013e: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0150: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0150: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="80" StartColumn="21" EndLine="80" EndColumn="78">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>018a: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Ldsfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="21" EndLine="79" EndColumn="91">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0164: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0176: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0176: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="85" StartColumn="21" EndLine="85" EndColumn="96">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0247: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0261: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0261: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>025b: read substitution String.&lt;description&gt;5__a =&gt; String.&lt;codes&gt;5__9</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="84" StartColumn="21" EndLine="84" EndColumn="115">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>021b: deleting Ldarg, Ldstr, Ldarg, Ldfld, Ldarg, Ldfld, Call, Box, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0242: write substitution String.&lt;description&gt;5__a =&gt; String.&lt;codes&gt;5__9</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0228: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0228: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0238: read substitution String.&lt;codes&gt;5__9 =&gt; String.&lt;description&gt;5__a</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="76" StartColumn="71" EndLine="76" EndColumn="80">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0139: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="86" StartColumn="21" EndLine="86" EndColumn="43">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0270: deleting Ldarg, Ldarg, Ldfld, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0270: deleting Ldarg, Ldarg, Ldfld, Stfld, Ldarg, Ldc_I4, Stfld, Ldc_I4, Stloc, Br, Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0284: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0277: write substitution MutantMetaData.&lt;&gt;2__current =&gt; MutantMetaData.&lt;mutation&gt;5__b</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="88" StartColumn="21" EndLine="88" EndColumn="82">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0291: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02a2: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02a2: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="61" StartColumn="33" EndLine="61" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02ef: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ef: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>030a: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>030c: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>030e: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>030e: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>030e: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>030d: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02f0: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02f0: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="74" StartColumn="17" EndLine="74" EndColumn="107">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00dc: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Ldc_I4, Sub, Beq, Ldarg, Ldfld, Callvirt, Callvirt, Ldnull, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00dc: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Ldc_I4, Sub, Beq, Ldarg, Ldfld, Callvirt, Callvirt, Ldnull, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0113: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0113: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0113: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00dd: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0112: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00dd: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f8: Sub =&gt; Add</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f8: Sub =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f8: Sub =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f8: Sub =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="83" StartColumn="21" EndLine="83" EndColumn="88">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01dc: deleting Ldarg, Ldstr, Ldarg, Ldfld, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0216: write substitution String.&lt;codes&gt;5__9 =&gt; String.&lt;description&gt;5__a</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f2: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f2: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f2: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="21" EndLine="89" EndColumn="84">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02b8: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c9: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02c9: read substitution Int32.&lt;startIndex&gt;5__4 =&gt; Int32.&lt;index&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="61" StartColumn="73" EndLine="61" EndColumn="80">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>02e1: deleting Ldarg, Dup, Ldfld, Ldc_I4, Add, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ea: write substitution Int32.&lt;index&gt;5__5 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02ea: write substitution Int32.&lt;index&gt;5__5 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02e3: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.&lt;startIndex&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02e3: read substitution Int32.&lt;index&gt;5__5 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02e9: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02e9: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02e9: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>02e9: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System.Collections.Generic;</Line>
        <Line Number="23">using System.Linq;</Line>
        <Line Number="24" />
        <Line Number="25">using Mono.Cecil;</Line>
        <Line Number="26">using Mono.Cecil.Cil;</Line>
        <Line Number="27" />
        <Line Number="28">namespace NinjaTurtles.Turtles</Line>
        <Line Number="29">{</Line>
        <Line Number="30">    /// &lt;summary&gt;</Line>
        <Line Number="31">    /// An implementation of &lt;see cref="IMethodTurtle" /&gt; that removes from the</Line>
        <Line Number="32">    /// compiled IL each sequence point in turn (with the exception of</Line>
        <Line Number="33">    /// structurally vital ones and compiler generated ones).</Line>
        <Line Number="34">    /// &lt;/summary&gt;</Line>
        <Line Number="35">    public class SequencePointDeletionTurtle : MethodTurtleBase</Line>
        <Line Number="36">    {</Line>
        <Line Number="37">        /// &lt;summary&gt;</Line>
        <Line Number="38">        /// Performs the actual code mutations, returning each with</Line>
        <Line Number="39">        /// &lt;c&gt;yield&lt;/c&gt; for the calling code to use.</Line>
        <Line Number="40">        /// &lt;/summary&gt;</Line>
        <Line Number="41">        /// &lt;remarks&gt;</Line>
        <Line Number="42">        /// Implementing classes should yield the result obtained by calling</Line>
        <Line Number="43">        /// the &lt;see mref="DoYield" /&gt; method.</Line>
        <Line Number="44">        /// &lt;/remarks&gt;</Line>
        <Line Number="45">        /// &lt;param name="method"&gt;</Line>
        <Line Number="46">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="47">        /// testing is to be carried out.</Line>
        <Line Number="48">        /// &lt;/param&gt;</Line>
        <Line Number="49">        /// &lt;param name="module"&gt;</Line>
        <Line Number="50">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="51">        /// containing assembly.</Line>
        <Line Number="52">        /// &lt;/param&gt;</Line>
        <Line Number="53">        /// &lt;returns&gt;</Line>
        <Line Number="54">        /// An &lt;see cref="IEnumerable{T}" /&gt; of</Line>
        <Line Number="55">        /// &lt;see cref="MutantMetaData" /&gt; structures.</Line>
        <Line Number="56">        /// &lt;/returns&gt;</Line>
        <Line Number="57">        protected override IEnumerable&lt;MutantMetaData&gt; DoMutate(MethodDefinition method, Module module)</Line>
        <Line Number="58">        {</Line>
        <Line Number="59">            var sequence = new Dictionary&lt;int, OpCode&gt;();</Line>
        <Line Number="60">            int startIndex = -1;</Line>
        <Line Number="61">            for (int index = 0; index &lt; method.Body.Instructions.Count; index++)</Line>
        <Line Number="62">            {</Line>
        <Line Number="63">                var instruction = method.Body.Instructions[index];</Line>
        <Line Number="64">                if (instruction.SequencePoint != null</Line>
        <Line Number="65">                    &amp;&amp; instruction.SequencePoint.StartLine != 0xfeefee)</Line>
        <Line Number="66">                {</Line>
        <Line Number="67">                    startIndex = index;</Line>
        <Line Number="68">                    sequence.Clear();</Line>
        <Line Number="69">                }</Line>
        <Line Number="70">                if (startIndex &gt;= 0)</Line>
        <Line Number="71">                {</Line>
        <Line Number="72">                    sequence.Add(index, instruction.OpCode);</Line>
        <Line Number="73">                }</Line>
        <Line Number="74">                if (index == method.Body.Instructions.Count - 1 || instruction.Next.SequencePoint != null)</Line>
        <Line Number="75">                {</Line>
        <Line Number="76">                    if (!ShouldDeleteSequence(method.Body, sequence)) continue;</Line>
        <Line Number="77" />
        <Line Number="78">                    OpCode originalOpCode = method.Body.Instructions[startIndex].OpCode;</Line>
        <Line Number="79">                    object originalOperand = method.Body.Instructions[startIndex].Operand;</Line>
        <Line Number="80">                    method.Body.Instructions[startIndex].OpCode = OpCodes.Br;</Line>
        <Line Number="81">                    method.Body.Instructions[startIndex].Operand = instruction.Next;</Line>
        <Line Number="82" />
        <Line Number="83">                    var codes = string.Join(", ", sequence.Values.Select(o =&gt; o.Code));</Line>
        <Line Number="84">                    var description = string.Format("{0:x4}: deleting {1}", GetOriginalOffset(startIndex), codes);</Line>
        <Line Number="85">                    MutantMetaData mutation = DoYield(method, module, description, startIndex);</Line>
        <Line Number="86">                    yield return mutation;</Line>
        <Line Number="87" />
        <Line Number="88">                    method.Body.Instructions[startIndex].OpCode = originalOpCode;</Line>
        <Line Number="89">                    method.Body.Instructions[startIndex].Operand = originalOperand;</Line>
        <Line Number="90">                }</Line>
        <Line Number="91">            }</Line>
        <Line Number="92">        }</Line>
        <Line Number="93" />
        <Line Number="94">        private bool ShouldDeleteSequence(MethodBody method, IDictionary&lt;int, OpCode&gt; opCodes)</Line>
        <Line Number="95">        {</Line>
        <Line Number="96">            if (opCodes.Values.All(o =&gt; o == OpCodes.Nop)) return false;</Line>
        <Line Number="97">            if (opCodes.Values.All(o =&gt; o == OpCodes.Pop)) return false;</Line>
        <Line Number="98">            if (opCodes.Values.All(o =&gt; o == OpCodes.Leave)) return false;</Line>
        <Line Number="99">            if (opCodes.Values.Any(o =&gt; o == OpCodes.Ret)) return false;</Line>
        <Line Number="100" />
        <Line Number="101">            // If just setting compiler-generated return variable in Debug mode, don't delete.</Line>
        <Line Number="102">            if (opCodes.Values.Last().Code == Code.Br)</Line>
        <Line Number="103">            {</Line>
        <Line Number="104">                if (((Instruction)method.Instructions[opCodes.Keys.Last()].Operand).Offset</Line>
        <Line Number="105">                    == method.Instructions[opCodes.Keys.Last() + 1].Offset)</Line>
        <Line Number="106">                {</Line>
        <Line Number="107">                    if (method.Instructions[opCodes.Keys.Last() + 2].OpCode == OpCodes.Ret)</Line>
        <Line Number="108">                    {</Line>
        <Line Number="109">                        return false;</Line>
        <Line Number="110">                    }</Line>
        <Line Number="111">                }</Line>
        <Line Number="112">            }</Line>
        <Line Number="113" />
        <Line Number="114">            // If calling base constructor, don't delete.</Line>
        <Line Number="115">            if (opCodes.Any(kv =&gt; kv.Value == OpCodes.Call))</Line>
        <Line Number="116">            {</Line>
        <Line Number="117">                if (((MethodReference)method.Instructions[opCodes.First(kv =&gt; kv.Value == OpCodes.Call).Key].Operand).Name == Methods.CONSTRUCTOR)</Line>
        <Line Number="118">                {</Line>
        <Line Number="119">                    return false;</Line>
        <Line Number="120">                }</Line>
        <Line Number="121">            }</Line>
        <Line Number="122" />
        <Line Number="123">            // If compiler-generated dispose, don't delete.</Line>
        <Line Number="124">            if (method.Instructions[opCodes.Keys.First()].IsPartOfCompilerGeneratedDispose())</Line>
        <Line Number="125">            {</Line>
        <Line Number="126">                return false;</Line>
        <Line Number="127">            }</Line>
        <Line Number="128" />
        <Line Number="129">            // If setting default value to a field, don't delete.</Line>
        <Line Number="130">            if (method.Instructions[opCodes.Keys.First()]</Line>
        <Line Number="131">                .FollowsSequence(OpCodes.Ldarg, OpCodes.Ldc_I4, OpCodes.Stfld)</Line>
        <Line Number="132">                &amp;&amp; (int)method.Instructions[opCodes.Keys.First() + 1].Operand == 0)</Line>
        <Line Number="133">            {</Line>
        <Line Number="134">                return false;</Line>
        <Line Number="135">            }</Line>
        <Line Number="136" />
        <Line Number="137">            return true;</Line>
        <Line Number="138">        }</Line>
        <Line Number="139">    }</Line>
        <Line Number="140">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\OpCodeRotationTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="72" StartColumn="17" EndLine="72" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>003c: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004e: read substitution Int32.&lt;index&gt;5__16 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="73" StartColumn="17" EndLine="73" EndColumn="62">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>005d: deleting Ldarg, Ldfld, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005d: deleting Ldarg, Ldfld, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007b: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007c: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="75" StartColumn="21" EndLine="75" EndColumn="72">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0083: deleting Ldarg, Ldfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: deleting Ldarg, Ldfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0091: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="75" StartColumn="73" EndLine="75" EndColumn="82">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0095: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="77" StartColumn="21" EndLine="77" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009a: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a6: write substitution OpCode.&lt;originalOpCode&gt;5__18 =&gt; OpCode.&lt;opCode&gt;5__19</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="44" EndLine="79" EndColumn="68">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ac: deleting Ldarg, Ldarg, Ldfld, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ac: deleting Ldarg, Ldarg, Ldfld, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Stfld, Ldarg, Ldc_I4, Stfld, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b9: read substitution OpCode.&lt;originalOpCode&gt;5__18 =&gt; OpCode.&lt;opCode&gt;5__19</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="30" EndLine="79" EndColumn="40">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00d9: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e5: write substitution OpCode.&lt;opCode&gt;5__19 =&gt; OpCode.&lt;originalOpCode&gt;5__18</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="81" StartColumn="25" EndLine="81" EndColumn="53">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00eb: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00f2: read substitution OpCode.&lt;opCode&gt;5__19 =&gt; OpCode.&lt;originalOpCode&gt;5__18</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="82" StartColumn="25" EndLine="82" EndColumn="139">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00fd: deleting Ldarg, Ldstr, Ldarg, Ldfld, Ldarg, Ldfld, Call, Box, Ldarg, Ldflda, Call, Box, Ldarg, Ldfld, Stloc, Ldloca, Call, Box, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012f: write substitution OpCode.CS$0$0003 =&gt; OpCode.&lt;originalOpCode&gt;5__18</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012f: write substitution OpCode.CS$0$0003 =&gt; OpCode.&lt;opCode&gt;5__19</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>010a: read substitution Int32.&lt;index&gt;5__16 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012a: read substitution OpCode.&lt;opCode&gt;5__19 =&gt; OpCode.&lt;originalOpCode&gt;5__18</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="83" StartColumn="25" EndLine="83" EndColumn="95">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0146: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0160: read substitution Int32.&lt;index&gt;5__16 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="84" StartColumn="25" EndLine="84" EndColumn="47">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>016f: deleting Ldarg, Ldarg, Ldfld, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>016f: deleting Ldarg, Ldarg, Ldfld, Stfld, Ldarg, Ldc_I4, Stfld, Ldc_I4, Stloc, Leave, Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0183: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0176: write substitution MutantMetaData.&lt;&gt;2__current =&gt; MutantMetaData.&lt;mutation&gt;5__1b</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="41" EndLine="79" EndColumn="43">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>018e: deleting Ldarg, Ldfld, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018e: deleting Ldarg, Ldfld, Callvirt, Stloc, Ldloc, Brtrue, Ldarg, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0199: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019b: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019a: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="87" StartColumn="21" EndLine="87" EndColumn="57">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01a7: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ae: read substitution OpCode.&lt;originalOpCode&gt;5__18 =&gt; OpCode.&lt;opCode&gt;5__19</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="70" StartColumn="73" EndLine="70" EndColumn="80">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01bb: deleting Ldarg, Dup, Ldfld, Ldc_I4, Add, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c4: write substitution Int32.&lt;index&gt;5__16 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01bd: read substitution Int32.&lt;index&gt;5__16 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c3: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c3: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c3: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c3: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="70" StartColumn="33" EndLine="70" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01c9: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c9: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e4: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e6: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e8: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e8: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e8: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01e7: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ca: read substitution Int32.&lt;index&gt;5__16 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__16</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__16</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System.Collections.Generic;</Line>
        <Line Number="23" />
        <Line Number="24">using Mono.Cecil;</Line>
        <Line Number="25">using Mono.Cecil.Cil;</Line>
        <Line Number="26" />
        <Line Number="27">namespace NinjaTurtles.Turtles</Line>
        <Line Number="28">{</Line>
        <Line Number="29">    /// &lt;summary&gt;</Line>
        <Line Number="30">    /// An abstract base class for implementations of</Line>
        <Line Number="31">    /// &lt;see cref="IMethodTurtle" /&gt; that operator by replacing a number of</Line>
        <Line Number="32">    /// IL OpCodes with a list of replacements in turn.</Line>
        <Line Number="33">    /// &lt;/summary&gt;</Line>
        <Line Number="34">    /// &lt;remarks&gt;</Line>
        <Line Number="35">    /// Classes extending this one only need to set the value of the</Line>
        <Line Number="36">    /// &lt;see fref="_opCodes" /&gt; field to an appropriate dictionary of source</Line>
        <Line Number="37">    /// and target OpCodes.</Line>
        <Line Number="38">    /// &lt;/remarks&gt;</Line>
        <Line Number="39">    public abstract class OpCodeRotationTurtle : MethodTurtleBase</Line>
        <Line Number="40">    {</Line>
        <Line Number="41">        /// &lt;summary&gt;</Line>
        <Line Number="42">        /// An &lt;see cref="IDictionary{K,V}" /&gt; containing source OpCodes as</Line>
        <Line Number="43">        /// keys, and &lt;see cref="IEnumerable{T}" /&gt;s of OpCodes as each key's</Line>
        <Line Number="44">        /// possible replacements.</Line>
        <Line Number="45">        /// &lt;/summary&gt;</Line>
        <Line Number="46">        protected IDictionary&lt;OpCode, IEnumerable&lt;OpCode&gt;&gt; _opCodes;</Line>
        <Line Number="47" />
        <Line Number="48">        /// &lt;summary&gt;</Line>
        <Line Number="49">        /// Performs the actual code mutations, returning each with</Line>
        <Line Number="50">        /// &lt;c&gt;yield&lt;/c&gt; for the calling code to use.</Line>
        <Line Number="51">        /// &lt;/summary&gt;</Line>
        <Line Number="52">        /// &lt;remarks&gt;</Line>
        <Line Number="53">        /// Implementing classes should yield the result obtained by calling</Line>
        <Line Number="54">        /// the &lt;see mref="DoYield" /&gt; method.</Line>
        <Line Number="55">        /// &lt;/remarks&gt;</Line>
        <Line Number="56">        /// &lt;param name="method"&gt;</Line>
        <Line Number="57">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="58">        /// testing is to be carried out.</Line>
        <Line Number="59">        /// &lt;/param&gt;</Line>
        <Line Number="60">        /// &lt;param name="module"&gt;</Line>
        <Line Number="61">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="62">        /// containing assembly.</Line>
        <Line Number="63">        /// &lt;/param&gt;</Line>
        <Line Number="64">        /// &lt;returns&gt;</Line>
        <Line Number="65">        /// An &lt;see cref="IEnumerable{T}" /&gt; of</Line>
        <Line Number="66">        /// &lt;see cref="MutantMetaData" /&gt; structures.</Line>
        <Line Number="67">        /// &lt;/returns&gt;</Line>
        <Line Number="68">        protected override IEnumerable&lt;MutantMetaData&gt; DoMutate(MethodDefinition method, Module module)</Line>
        <Line Number="69">        {</Line>
        <Line Number="70">            for (int index = 0; index &lt; method.Body.Instructions.Count; index++)</Line>
        <Line Number="71">            {</Line>
        <Line Number="72">                var instruction = method.Body.Instructions[index];</Line>
        <Line Number="73">                if (_opCodes.ContainsKey(instruction.OpCode))</Line>
        <Line Number="74">                {</Line>
        <Line Number="75">                    if (instruction.IsMeaninglessUnconditionalBranch()) continue;</Line>
        <Line Number="76" />
        <Line Number="77">                    var originalOpCode = instruction.OpCode;</Line>
        <Line Number="78" />
        <Line Number="79">                    foreach (var opCode in _opCodes[originalOpCode])</Line>
        <Line Number="80">                    {</Line>
        <Line Number="81">                        instruction.OpCode = opCode;</Line>
        <Line Number="82">                        var description = string.Format("{0:x4}: {1} =&gt; {2}", GetOriginalOffset(index), originalOpCode.Code, opCode.Code);</Line>
        <Line Number="83">                        MutantMetaData mutation = DoYield(method, module, description, index);</Line>
        <Line Number="84">                        yield return mutation;</Line>
        <Line Number="85">                    }</Line>
        <Line Number="86" />
        <Line Number="87">                    instruction.OpCode = originalOpCode;</Line>
        <Line Number="88">                }</Line>
        <Line Number="89">            }</Line>
        <Line Number="90">        }</Line>
        <Line Number="91">    }</Line>
        <Line Number="92">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\MethodTurtleBase.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="46" StartColumn="13" EndLine="46" EndColumn="46">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="143" StartColumn="13" EndLine="143" EndColumn="99">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Callvirt, Call, Newobj, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="144" StartColumn="13" EndLine="144" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0012: deleting Ldloc, Ldarg, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="145" StartColumn="13" EndLine="151" EndColumn="15">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>001f: write substitution MutantMetaData.&lt;&gt;g__initLocal14 =&gt; MutantMetaData.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0042: write substitution MutantMetaData.CS$1$0000 =&gt; MutantMetaData.&lt;&gt;g__initLocal14</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0020: read substitution MutantMetaData.&lt;&gt;g__initLocal14 =&gt; MutantMetaData.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0028: read substitution MutantMetaData.&lt;&gt;g__initLocal14 =&gt; MutantMetaData.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0030: read substitution MutantMetaData.&lt;&gt;g__initLocal14 =&gt; MutantMetaData.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0038: read substitution MutantMetaData.&lt;&gt;g__initLocal14 =&gt; MutantMetaData.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0041: read substitution MutantMetaData.&lt;&gt;g__initLocal14 =&gt; MutantMetaData.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="152" StartColumn="9" EndLine="152" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Collections.Generic;</Line>
        <Line Number="24">using System.Globalization;</Line>
        <Line Number="25">using System.IO;</Line>
        <Line Number="26">using System.Linq;</Line>
        <Line Number="27" />
        <Line Number="28">using Mono.Cecil;</Line>
        <Line Number="29">using Mono.Cecil.Cil;</Line>
        <Line Number="30">using Mono.Cecil.Rocks;</Line>
        <Line Number="31" />
        <Line Number="32">namespace NinjaTurtles.Turtles</Line>
        <Line Number="33">{</Line>
        <Line Number="34">    /// &lt;summary&gt;</Line>
        <Line Number="35">    /// An abstract base class for implementations of</Line>
        <Line Number="36">    /// &lt;see cref="IMethodTurtle" /&gt;.</Line>
        <Line Number="37">    /// &lt;/summary&gt;</Line>
        <Line Number="38">    public abstract class MethodTurtleBase : IMethodTurtle</Line>
        <Line Number="39">    {</Line>
        <Line Number="40">        private int[] _originalOffsets;</Line>
        <Line Number="41">        private Module _module;</Line>
        <Line Number="42">        private MethodDefinition _method;</Line>
        <Line Number="43" />
        <Line Number="44">        internal void MutantComplete(MutantMetaData metaData)</Line>
        <Line Number="45">        {</Line>
        <Line Number="46">            metaData.TestDirectory.Dispose();</Line>
        <Line Number="47">        }</Line>
        <Line Number="48" />
        <Line Number="49">        /// &lt;summary&gt;</Line>
        <Line Number="50">        /// Returns an &lt;see cref="IEnumerable{T}" /&gt; of detailed descriptions</Line>
        <Line Number="51">        /// of mutations, having first carried out the mutation in question and</Line>
        <Line Number="52">        /// saved the modified assembly under test to disk.</Line>
        <Line Number="53">        /// &lt;/summary&gt;</Line>
        <Line Number="54">        /// &lt;param name="method"&gt;</Line>
        <Line Number="55">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="56">        /// testing is to be carried out.</Line>
        <Line Number="57">        /// &lt;/param&gt;</Line>
        <Line Number="58">        /// &lt;param name="module"&gt;</Line>
        <Line Number="59">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="60">        /// containing assembly.</Line>
        <Line Number="61">        /// &lt;/param&gt;</Line>
        <Line Number="62">        /// &lt;param name="originalOffsets"&gt;</Line>
        <Line Number="63">        /// An array of the original IL offsets before macros were expanded.</Line>
        <Line Number="64">        /// &lt;/param&gt;</Line>
        <Line Number="65">        /// &lt;returns&gt;</Line>
        <Line Number="66">        /// An &lt;see cref="IEnumerable{T}" /&gt; of</Line>
        <Line Number="67">        /// &lt;see cref="MutantMetaData" /&gt; structures.</Line>
        <Line Number="68">        /// &lt;/returns&gt;</Line>
        <Line Number="69">        public IEnumerable&lt;MutantMetaData&gt; Mutate(MethodDefinition method, Module module, int[] originalOffsets)</Line>
        <Line Number="70">        {</Line>
        <Line Number="71">            _module = module;</Line>
        <Line Number="72">            _method = method;</Line>
        <Line Number="73">            _originalOffsets = originalOffsets;</Line>
        <Line Number="74">            method.Body.SimplifyMacros();</Line>
        <Line Number="75">            foreach (var mutation in DoMutate(method, module))</Line>
        <Line Number="76">            {</Line>
        <Line Number="77">                yield return mutation;</Line>
        <Line Number="78">            }</Line>
        <Line Number="79">            method.Body.OptimizeMacros();</Line>
        <Line Number="80">            var nestedType =</Line>
        <Line Number="81">                method.DeclaringType.NestedTypes.FirstOrDefault(</Line>
        <Line Number="82">                    t =&gt; t.Name.StartsWith(string.Format("&lt;{0}&gt;", method.Name))</Line>
        <Line Number="83">                    &amp;&amp; t.Interfaces.Any(i =&gt; i.Name == "IEnumerable`1"));</Line>
        <Line Number="84">            if (nestedType != null)</Line>
        <Line Number="85">            {</Line>
        <Line Number="86">                var nestedMethod = nestedType.Methods.First(m =&gt; m.Name == "MoveNext");</Line>
        <Line Number="87">                _originalOffsets = nestedMethod.Body.Instructions.Select(i =&gt; i.Offset).ToArray();</Line>
        <Line Number="88">                _method = nestedMethod;</Line>
        <Line Number="89">                nestedMethod.Body.SimplifyMacros();</Line>
        <Line Number="90">                foreach (var mutation in DoMutate(nestedMethod, module))</Line>
        <Line Number="91">                {</Line>
        <Line Number="92">                    yield return mutation;</Line>
        <Line Number="93">                }</Line>
        <Line Number="94">                nestedMethod.Body.OptimizeMacros();</Line>
        <Line Number="95">            }</Line>
        <Line Number="96">        }</Line>
        <Line Number="97" />
        <Line Number="98">        /// &lt;summary&gt;</Line>
        <Line Number="99">        /// Performs the actual code mutations, returning each with</Line>
        <Line Number="100">        /// &lt;c&gt;yield&lt;/c&gt; for the calling code to use.</Line>
        <Line Number="101">        /// &lt;/summary&gt;</Line>
        <Line Number="102">        /// &lt;remarks&gt;</Line>
        <Line Number="103">        /// Implementing classes should yield the result obtained by calling</Line>
        <Line Number="104">        /// the &lt;see mref="DoYield" /&gt; method.</Line>
        <Line Number="105">        /// &lt;/remarks&gt;</Line>
        <Line Number="106">        /// &lt;param name="method"&gt;</Line>
        <Line Number="107">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="108">        /// testing is to be carried out.</Line>
        <Line Number="109">        /// &lt;/param&gt;</Line>
        <Line Number="110">        /// &lt;param name="module"&gt;</Line>
        <Line Number="111">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="112">        /// containing assembly.</Line>
        <Line Number="113">        /// &lt;/param&gt;</Line>
        <Line Number="114">        /// &lt;returns&gt;</Line>
        <Line Number="115">        /// An &lt;see cref="IEnumerable{T}" /&gt; of</Line>
        <Line Number="116">        /// &lt;see cref="MutantMetaData" /&gt; structures.</Line>
        <Line Number="117">        /// &lt;/returns&gt;</Line>
        <Line Number="118">        protected abstract IEnumerable&lt;MutantMetaData&gt; DoMutate(MethodDefinition method, Module module);</Line>
        <Line Number="119" />
        <Line Number="120">        /// &lt;summary&gt;</Line>
        <Line Number="121">        /// A helper method that copies the test folder, and saves the mutated</Line>
        <Line Number="122">        /// assembly under test into it before returning an instance of</Line>
        <Line Number="123">        /// &lt;see cref="MutantMetaData" /&gt;.</Line>
        <Line Number="124">        /// &lt;/summary&gt;</Line>
        <Line Number="125">        /// &lt;param name="method"&gt;</Line>
        <Line Number="126">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="127">        /// testing is to be carried out.</Line>
        <Line Number="128">        /// &lt;/param&gt;</Line>
        <Line Number="129">        /// &lt;param name="module"&gt;</Line>
        <Line Number="130">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="131">        /// containing assembly.</Line>
        <Line Number="132">        /// &lt;/param&gt;</Line>
        <Line Number="133">        /// &lt;param name="description"&gt;</Line>
        <Line Number="134">        /// A description of the mutation that has been applied.</Line>
        <Line Number="135">        /// &lt;/param&gt;</Line>
        <Line Number="136">        /// &lt;param name="index"&gt;</Line>
        <Line Number="137">        /// The index of the (first) IL instruction at which the mutation was</Line>
        <Line Number="138">        /// applied.</Line>
        <Line Number="139">        /// &lt;/param&gt;</Line>
        <Line Number="140">        /// &lt;returns&gt;&lt;/returns&gt;</Line>
        <Line Number="141">        protected MutantMetaData DoYield(MethodDefinition method, Module module, string description, int index)</Line>
        <Line Number="142">        {</Line>
        <Line Number="143">            var testDirectory = new TestDirectory(Path.GetDirectoryName(module.AssemblyLocation));</Line>
        <Line Number="144">            testDirectory.SaveAssembly(module);</Line>
        <Line Number="145">            return new MutantMetaData</Line>
        <Line Number="146">            {</Line>
        <Line Number="147">                Description = description,</Line>
        <Line Number="148">                MethodDefinition = method,</Line>
        <Line Number="149">                TestDirectory = testDirectory,</Line>
        <Line Number="150">                ILIndex = index</Line>
        <Line Number="151">            };</Line>
        <Line Number="152">        }</Line>
        <Line Number="153" />
        <Line Number="154">        internal int GetOriginalOffset(int index)</Line>
        <Line Number="155">        {</Line>
        <Line Number="156">            return _originalOffsets[index];</Line>
        <Line Number="157">        }</Line>
        <Line Number="158" />
        <Line Number="159">        internal string GetOriginalSourceFileName(int index)</Line>
        <Line Number="160">        {</Line>
        <Line Number="161">            var sequencePoint = GetCurrentSequencePoint(index);</Line>
        <Line Number="162">            return Path.GetFileName(sequencePoint.Document.Url);</Line>
        <Line Number="163">        }</Line>
        <Line Number="164" />
        <Line Number="165">        internal SequencePoint GetCurrentSequencePoint(int index)</Line>
        <Line Number="166">        {</Line>
        <Line Number="167">            var instruction = _method.Body.Instructions[index];</Line>
        <Line Number="168">            while ((instruction.SequencePoint == null</Line>
        <Line Number="169">                || instruction.SequencePoint.StartLine == 0xfeefee) &amp;&amp; index &gt; 0)</Line>
        <Line Number="170">            {</Line>
        <Line Number="171">                index--;</Line>
        <Line Number="172">                instruction = _method.Body.Instructions[index];</Line>
        <Line Number="173">            }</Line>
        <Line Number="174">            var sequencePoint = instruction.SequencePoint;</Line>
        <Line Number="175">            return sequencePoint;</Line>
        <Line Number="176">        }</Line>
        <Line Number="177" />
        <Line Number="178">        internal string GetOriginalSourceCode(int index)</Line>
        <Line Number="179">        {</Line>
        <Line Number="180">            var sequencePoint = GetCurrentSequencePoint(index);</Line>
        <Line Number="181">            string result = "";</Line>
        <Line Number="182">            if (!_module.SourceFiles.ContainsKey(sequencePoint.Document.Url))</Line>
        <Line Number="183">            {</Line>
        <Line Number="184">                return "";</Line>
        <Line Number="185">            }</Line>
        <Line Number="186">            string[] sourceCode = _module.SourceFiles[sequencePoint.Document.Url];</Line>
        <Line Number="187">            int upperBound = Math.Min(sequencePoint.EndLine + 2, sourceCode.Length);</Line>
        <Line Number="188">            for (int line = Math.Max(sequencePoint.StartLine - 2, 1); line &lt;= upperBound; line++)</Line>
        <Line Number="189">            {</Line>
        <Line Number="190">                string sourceLine = sourceCode[line - 1].Replace("\t", "    ");</Line>
        <Line Number="191">                result += line.ToString(CultureInfo.InvariantCulture)</Line>
        <Line Number="192">                    .PadLeft(4, ' ') + ": " + sourceLine.TrimEnd(' ', '\t');</Line>
        <Line Number="193">                if (line &lt; upperBound) result += Environment.NewLine;</Line>
        <Line Number="194">            }</Line>
        <Line Number="195">            return result;</Line>
        <Line Number="196">        }</Line>
        <Line Number="197">    }</Line>
        <Line Number="198">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\ConditionalBoundaryTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="62" StartColumn="17" EndLine="62" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0038: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: write substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: write substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004a: read substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="63" StartColumn="17" EndLine="64" EndColumn="58">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0059: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brtrue, Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0059: deleting Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brtrue, Ldarg, Ldfld, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008c: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005a: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005a: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0071: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0071: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="66" StartColumn="21" EndLine="66" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0093: deleting Ldarg, Ldarg, Ldfld, Callvirt, Stloc, Ldloca, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0095: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0095: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="68" StartColumn="21" EndLine="68" EndColumn="90">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ac: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c7: write substitution Instruction.&lt;loadZero&gt;5__4 =&gt; Instruction.&lt;instruction&gt;5__2</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c7: write substitution Instruction.&lt;loadZero&gt;5__4 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="69" StartColumn="21" EndLine="69" EndColumn="89">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00cc: deleting Ldarg, Ldarg, Ldfld, Callvirt, Callvirt, Ldsfld, Callvirt, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e7: write substitution Instruction.&lt;compareEqual&gt;5__5 =&gt; Instruction.&lt;instruction&gt;5__2</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e7: write substitution Instruction.&lt;compareEqual&gt;5__5 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="71" StartColumn="21" EndLine="71" EndColumn="78">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ec: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Ldc_I4, Add, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00fd: read substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0105: read substitution Instruction.&lt;compareEqual&gt;5__5 =&gt; Instruction.&lt;instruction&gt;5__2</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0105: read substitution Instruction.&lt;compareEqual&gt;5__5 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0103: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="72" StartColumn="21" EndLine="72" EndColumn="74">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0110: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Ldc_I4, Add, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0121: read substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0129: read substitution Instruction.&lt;loadZero&gt;5__4 =&gt; Instruction.&lt;instruction&gt;5__2</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0129: read substitution Instruction.&lt;loadZero&gt;5__4 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0127: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0127: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0127: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0127: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="74" StartColumn="21" EndLine="74" EndColumn="104">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0134: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brtrue, Ldsfld, Br, Ldsfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0135: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0135: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>013b: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>013b: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="76" StartColumn="21" EndLine="76" EndColumn="144">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0163: deleting Ldarg, Ldstr, Ldarg, Ldfld, Ldarg, Ldfld, Call, Box, Ldarg, Ldfld, Box, Ldarg, Ldfld, Callvirt, Stloc, Ldloca, Call, Box, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0170: read substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018b: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018b: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="77" StartColumn="21" EndLine="77" EndColumn="78">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01ac: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01ac: deleting Ldarg, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Ldarg, Ldfld, Call, Stfld, Ldarg, Ldc_I4, Stfld, Ldc_I4, Stloc, Br, Ldarg, Ldc_I4, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01dd: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0002</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01c6: read substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="21" EndLine="79" EndColumn="104">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>01ea: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Ldsfld, Call, Brtrue, Ldsfld, Br, Ldsfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0205: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0205: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0205: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01eb: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01eb: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f1: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01f1: read substitution Instruction.&lt;instruction&gt;5__2 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="81" StartColumn="21" EndLine="81" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0219: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Pop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>022a: read substitution Instruction.&lt;compareEqual&gt;5__5 =&gt; Instruction.&lt;instruction&gt;5__2</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>022a: read substitution Instruction.&lt;compareEqual&gt;5__5 =&gt; Instruction.&lt;loadZero&gt;5__4</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="82" StartColumn="21" EndLine="82" EndColumn="63">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0235: deleting Ldarg, Ldfld, Callvirt, Callvirt, Ldarg, Ldfld, Callvirt, Pop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0246: read substitution Instruction.&lt;loadZero&gt;5__4 =&gt; Instruction.&lt;instruction&gt;5__2</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0246: read substitution Instruction.&lt;loadZero&gt;5__4 =&gt; Instruction.&lt;compareEqual&gt;5__5</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="60" StartColumn="33" EndLine="60" EndColumn="71">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0261: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0261: deleting Ldarg, Ldfld, Ldarg, Ldfld, Callvirt, Callvirt, Callvirt, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>027c: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>027e: write substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0280: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0280: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0280: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>027f: read substitution Boolean.CS$4$0002 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0262: read substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="60" StartColumn="73" EndLine="60" EndColumn="80">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0253: deleting Ldarg, Dup, Ldfld, Ldc_I4, Add, Stfld</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>025c: write substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0255: read substitution Int32.&lt;index&gt;5__1 =&gt; Int32.CS$4$0001</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>025b: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>025b: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>025b: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>025b: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0006: write substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__1</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0007: read substitution Int32.CS$4$0001 =&gt; Int32.&lt;index&gt;5__1</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System.Collections.Generic;</Line>
        <Line Number="23" />
        <Line Number="24">using Mono.Cecil;</Line>
        <Line Number="25">using Mono.Cecil.Cil;</Line>
        <Line Number="26" />
        <Line Number="27">namespace NinjaTurtles.Turtles</Line>
        <Line Number="28">{</Line>
        <Line Number="29">    /// &lt;summary&gt;</Line>
        <Line Number="30">    /// An implementation of &lt;see cref="IMethodTurtle"/&gt; that changes</Line>
        <Line Number="31">    /// whether or not equality is included in comparison operators, so</Line>
        <Line Number="32">    /// for example &lt;see cref="OpCodes.Clt" /&gt; is replaced by a combination</Line>
        <Line Number="33">    /// of &lt;see cref="OpCodes.Cgt" /&gt; and a comparison with zero to give the</Line>
        <Line Number="34">    /// effect of a &amp;lt;= operator.</Line>
        <Line Number="35">    /// &lt;/summary&gt;</Line>
        <Line Number="36">    public class ConditionalBoundaryTurtle : MethodTurtleBase</Line>
        <Line Number="37">    {</Line>
        <Line Number="38">        /// &lt;summary&gt;</Line>
        <Line Number="39">        /// Performs the actual code mutations, returning each with</Line>
        <Line Number="40">        /// &lt;c&gt;yield&lt;/c&gt; for the calling code to use.</Line>
        <Line Number="41">        /// &lt;/summary&gt;</Line>
        <Line Number="42">        /// &lt;remarks&gt;</Line>
        <Line Number="43">        /// Implementing classes should yield the result obtained by calling</Line>
        <Line Number="44">        /// the &lt;see mref="DoYield" /&gt; method.</Line>
        <Line Number="45">        /// &lt;/remarks&gt;</Line>
        <Line Number="46">        /// &lt;param name="method"&gt;</Line>
        <Line Number="47">        /// A &lt;see cref="MethodDefinition" /&gt; for the method on which mutation</Line>
        <Line Number="48">        /// testing is to be carried out.</Line>
        <Line Number="49">        /// &lt;/param&gt;</Line>
        <Line Number="50">        /// &lt;param name="module"&gt;</Line>
        <Line Number="51">        /// A &lt;see cref="Module" /&gt; representing the main module of the</Line>
        <Line Number="52">        /// containing assembly.</Line>
        <Line Number="53">        /// &lt;/param&gt;</Line>
        <Line Number="54">        /// &lt;returns&gt;</Line>
        <Line Number="55">        /// An &lt;see cref="IEnumerable{T}" /&gt; of</Line>
        <Line Number="56">        /// &lt;see cref="MutantMetaData" /&gt; structures.</Line>
        <Line Number="57">        /// &lt;/returns&gt;</Line>
        <Line Number="58">        protected override IEnumerable&lt;MutantMetaData&gt; DoMutate(MethodDefinition method, Module module)</Line>
        <Line Number="59">        {</Line>
        <Line Number="60">            for (int index = 0; index &lt; method.Body.Instructions.Count; index++)</Line>
        <Line Number="61">            {</Line>
        <Line Number="62">                var instruction = method.Body.Instructions[index];</Line>
        <Line Number="63">                if (instruction.OpCode == OpCodes.Clt</Line>
        <Line Number="64">                    || instruction.OpCode == OpCodes.Cgt)</Line>
        <Line Number="65">                {</Line>
        <Line Number="66">                    var originalCode = instruction.OpCode.Code;</Line>
        <Line Number="67" />
        <Line Number="68">                    var loadZero = method.Body.GetILProcessor().Create(OpCodes.Ldc_I4_0);</Line>
        <Line Number="69">                    var compareEqual = method.Body.GetILProcessor().Create(OpCodes.Ceq);</Line>
        <Line Number="70" />
        <Line Number="71">                    method.Body.Instructions.Insert(index + 1, compareEqual);</Line>
        <Line Number="72">                    method.Body.Instructions.Insert(index + 1, loadZero);</Line>
        <Line Number="73" />
        <Line Number="74">                    instruction.OpCode = instruction.OpCode == OpCodes.Clt ? OpCodes.Cgt : OpCodes.Clt;</Line>
        <Line Number="75" />
        <Line Number="76">                    var description = string.Format("{0:x4}: {1} =&gt; not {2}", GetOriginalOffset(index), originalCode, instruction.OpCode.Code);</Line>
        <Line Number="77">                    yield return DoYield(method, module, description, index);</Line>
        <Line Number="78" />
        <Line Number="79">                    instruction.OpCode = instruction.OpCode == OpCodes.Clt ? OpCodes.Cgt : OpCodes.Clt;</Line>
        <Line Number="80" />
        <Line Number="81">                    method.Body.Instructions.Remove(compareEqual);</Line>
        <Line Number="82">                    method.Body.Instructions.Remove(loadZero);</Line>
        <Line Number="83">                }</Line>
        <Line Number="84">            }</Line>
        <Line Number="85">        }</Line>
        <Line Number="86">    }</Line>
        <Line Number="87">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\BranchConditionTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="42" StartColumn="13" EndLine="46" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Newobj, Stloc, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System.Collections.Generic;</Line>
        <Line Number="23" />
        <Line Number="24">using Mono.Cecil.Cil;</Line>
        <Line Number="25" />
        <Line Number="26">namespace NinjaTurtles.Turtles</Line>
        <Line Number="27">{</Line>
        <Line Number="28">    /// &lt;summary&gt;</Line>
        <Line Number="29">    /// An implementation of &lt;see cref="IMethodTurtle"/&gt; that replaces the</Line>
        <Line Number="30">    /// conditional branch operators</Line>
        <Line Number="31">    /// &lt;see cref="OpCodes.Brtrue" /&gt; and &lt;see cref="OpCodes.Brfalse"/&gt; with</Line>
        <Line Number="32">    /// their converse and with the operators &lt;see cref="OpCodes.Br"/&gt; (always</Line>
        <Line Number="33">    /// branch) and &lt;see cref="OpCodes.Nop" /&gt; (never branch) in turn.</Line>
        <Line Number="34">    /// &lt;/summary&gt;</Line>
        <Line Number="35">    public class BranchConditionTurtle : OpCodeRotationTurtle</Line>
        <Line Number="36">    {</Line>
        <Line Number="37">        /// &lt;summary&gt;</Line>
        <Line Number="38">        /// Initializes a new instance of &lt;see cref="BranchConditionTurtle" /&gt;.</Line>
        <Line Number="39">        /// &lt;/summary&gt;</Line>
        <Line Number="40">        public BranchConditionTurtle()</Line>
        <Line Number="41">        {</Line>
        <Line Number="42">            _opCodes = new Dictionary&lt;OpCode, IEnumerable&lt;OpCode&gt;&gt;</Line>
        <Line Number="43">                           {</Line>
        <Line Number="44">                               {OpCodes.Brtrue, new[] {OpCodes.Nop, OpCodes.Brfalse, OpCodes.Br}},</Line>
        <Line Number="45">                               {OpCodes.Brfalse, new[] {OpCodes.Nop, OpCodes.Brtrue, OpCodes.Br}}</Line>
        <Line Number="46">                           };</Line>
        <Line Number="47">        }</Line>
        <Line Number="48">    }</Line>
        <Line Number="49">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\BitwiseOperatorTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="41" StartColumn="13" EndLine="46" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Newobj, Stloc, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System.Collections.Generic;</Line>
        <Line Number="23" />
        <Line Number="24">using Mono.Cecil.Cil;</Line>
        <Line Number="25" />
        <Line Number="26">namespace NinjaTurtles.Turtles</Line>
        <Line Number="27">{</Line>
        <Line Number="28">    /// &lt;summary&gt;</Line>
        <Line Number="29">    /// An implementation of &lt;see cref="IMethodTurtle"/&gt; that replaces each of</Line>
        <Line Number="30">    /// the bitwise operators &lt;see cref="OpCodes.Or" /&gt;,</Line>
        <Line Number="31">    /// &lt;see cref="OpCodes.And" /&gt; and &lt;see cref="OpCodes.Xor" /&gt; with each</Line>
        <Line Number="32">    /// of the others in turn.</Line>
        <Line Number="33">    /// &lt;/summary&gt;</Line>
        <Line Number="34">    public class BitwiseOperatorTurtle : OpCodeRotationTurtle</Line>
        <Line Number="35">    {</Line>
        <Line Number="36">        /// &lt;summary&gt;</Line>
        <Line Number="37">        /// Initializes a new instance of &lt;see cref="BitwiseOperatorTurtle" /&gt;.</Line>
        <Line Number="38">        /// &lt;/summary&gt;</Line>
        <Line Number="39">        public BitwiseOperatorTurtle()</Line>
        <Line Number="40">        {</Line>
        <Line Number="41">            _opCodes = new Dictionary&lt;OpCode, IEnumerable&lt;OpCode&gt;&gt;</Line>
        <Line Number="42">                           {</Line>
        <Line Number="43">                               {OpCodes.Or, new[] {OpCodes.And, OpCodes.Xor}},</Line>
        <Line Number="44">                               {OpCodes.And, new[] {OpCodes.Or, OpCodes.Xor}},</Line>
        <Line Number="45">                               {OpCodes.Xor, new[] {OpCodes.Or, OpCodes.And}}</Line>
        <Line Number="46">                           };</Line>
        <Line Number="47">        }</Line>
        <Line Number="48">    }</Line>
        <Line Number="49">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Turtles\ArithmeticOperatorTurtle.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="43" StartColumn="13" EndLine="50" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Newobj, Stloc, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Ldsfld, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Ldc_I4, Ldelema, Ldsfld, Stobj, Ldloc, Callvirt, Nop, Ldloc, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System.Collections.Generic;</Line>
        <Line Number="23" />
        <Line Number="24">using Mono.Cecil.Cil;</Line>
        <Line Number="25" />
        <Line Number="26">namespace NinjaTurtles.Turtles</Line>
        <Line Number="27">{</Line>
        <Line Number="28">    /// &lt;summary&gt;</Line>
        <Line Number="29">    /// An implementation of &lt;see cref="IMethodTurtle"/&gt; that replaces each of</Line>
        <Line Number="30">    /// the arithmetic operators &lt;see cref="OpCodes.Add" /&gt;,</Line>
        <Line Number="31">    /// &lt;see cref="OpCodes.Sub" /&gt;, &lt;see cref="OpCodes.Mul" /&gt;,</Line>
        <Line Number="32">    /// &lt;see cref="OpCodes.Div" /&gt; and &lt;see cref="OpCodes.Rem" /&gt; with each</Line>
        <Line Number="33">    /// of the others in turn.</Line>
        <Line Number="34">    /// &lt;/summary&gt;</Line>
        <Line Number="35">    public class ArithmeticOperatorTurtle : OpCodeRotationTurtle</Line>
        <Line Number="36">    {</Line>
        <Line Number="37">        /// &lt;summary&gt;</Line>
        <Line Number="38">        /// Initializes a new instance of </Line>
        <Line Number="39">        /// &lt;see cref="ArithmeticOperatorTurtle" /&gt;.</Line>
        <Line Number="40">        /// &lt;/summary&gt;</Line>
        <Line Number="41">        public ArithmeticOperatorTurtle()</Line>
        <Line Number="42">        {</Line>
        <Line Number="43">            _opCodes = new Dictionary&lt;OpCode, IEnumerable&lt;OpCode&gt;&gt;</Line>
        <Line Number="44">                           {</Line>
        <Line Number="45">                               {OpCodes.Add, new[] {OpCodes.Sub, OpCodes.Mul, OpCodes.Div, OpCodes.Rem}},</Line>
        <Line Number="46">                               {OpCodes.Sub, new[] {OpCodes.Add, OpCodes.Mul, OpCodes.Div, OpCodes.Rem}},</Line>
        <Line Number="47">                               {OpCodes.Mul, new[] {OpCodes.Add, OpCodes.Sub, OpCodes.Div, OpCodes.Rem}},</Line>
        <Line Number="48">                               {OpCodes.Div, new[] {OpCodes.Add, OpCodes.Sub, OpCodes.Mul, OpCodes.Rem}},</Line>
        <Line Number="49">                               {OpCodes.Rem, new[] {OpCodes.Add, OpCodes.Sub, OpCodes.Mul, OpCodes.Div}}</Line>
        <Line Number="50">                           };</Line>
        <Line Number="51">        }</Line>
        <Line Number="52">    }</Line>
        <Line Number="53">}</Line>
        <Line Number="54" />
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\TestDirectory.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="80" StartColumn="7" EndLine="80" EndColumn="67">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Callvirt, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: write substitution String.fileName =&gt; String.path</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: write substitution String.fileName =&gt; String._folder</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="81" StartColumn="7" EndLine="81" EndColumn="53">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000d: deleting Ldarg, Ldfld, Ldloc, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0019: write substitution String.path =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0019: write substitution String.path =&gt; String._folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000e: read substitution String._folder =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000e: read substitution String._folder =&gt; String.path</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0013: read substitution String.fileName =&gt; String.path</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0013: read substitution String.fileName =&gt; String._folder</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="83" StartColumn="13" EndLine="83" EndColumn="51">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0031: deleting Ldarg, Callvirt, Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.path =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.path =&gt; String._folder</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="82" StartColumn="13" EndLine="82" EndColumn="83">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>001a: deleting Ldsfld, Ldstr, Ldloc, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution String.fileName =&gt; String.path</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution String.fileName =&gt; String._folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0026: read substitution String._folder =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0026: read substitution String._folder =&gt; String.path</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="69" StartColumn="13" EndLine="69" EndColumn="79">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldsfld, Ldstr, Ldarg, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0012: read substitution String.sourceFolder =&gt; String._folder</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="70" StartColumn="13" EndLine="70" EndColumn="58">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0019: deleting Ldarg, Ldarg, Ldfld, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0019: read substitution String.sourceFolder =&gt; String._folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001b: read substitution String._folder =&gt; String.sourceFolder</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="120" StartColumn="13" EndLine="120" EndColumn="29">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000c: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="126" StartColumn="17" EndLine="126" EndColumn="65">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0012: deleting Ldsfld, Ldstr, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001d: read substitution String._folder =&gt; String.message</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="122" StartColumn="17" EndLine="122" EndColumn="24">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000f: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="127" StartColumn="17" EndLine="127" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0028: deleting Ldarg, Ldfld, Ldc_I4, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0029: read substitution String._folder =&gt; String.message</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="128" StartColumn="13" EndLine="128" EndColumn="14">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0035: deleting Nop, Leave</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="129" StartColumn="13" EndLine="129" EndColumn="33">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0038: deleting Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="131" StartColumn="17" EndLine="131" EndColumn="93">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>003a: deleting Ldstr, Ldarg, Ldfld, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004a: write substitution String.message =&gt; String._folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0040: read substitution String._folder =&gt; String.message</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="132" StartColumn="17" EndLine="132" EndColumn="50">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004b: deleting Ldsfld, Ldloc, Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0050: read substitution String.message =&gt; String._folder</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="133" StartColumn="13" EndLine="133" EndColumn="14">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0058: deleting Nop, Leave, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0058: deleting Nop, Leave</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="51" StartColumn="13" EndLine="53" EndColumn="66">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Call, Ldstr, Call, Stloc, Ldloca, Ldstr, Call, Call, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="54" StartColumn="13" EndLine="54" EndColumn="61">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002f: deleting Ldsfld, Ldstr, Ldarg, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="55" StartColumn="13" EndLine="55" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0045: deleting Ldarg, Ldfld, Call, Pop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="25" EndLine="89" EndColumn="54">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0002: deleting Ldarg, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: deleting Ldarg, Call, Stloc, Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: read substitution String.directory =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: read substitution String.directory =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: read substitution String.directory =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: read substitution String.directory =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: read substitution String.directory =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0002: read substitution String.directory =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="13" EndLine="89" EndColumn="21">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000f: deleting Ldloc, Ldloc, Ldelem_Ref, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: write substitution String.file =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: write substitution String.file =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: write substitution String.file =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: write substitution String.file =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="91" StartColumn="8" EndLine="91" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0016: deleting Ldloc, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001c: write substitution String.fileName =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001c: write substitution String.fileName =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001c: write substitution String.fileName =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001c: write substitution String.fileName =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0016: read substitution String.file =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0016: read substitution String.file =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0016: read substitution String.file =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0016: read substitution String.file =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0016: read substitution String.file =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0016: read substitution String.file =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="92" StartColumn="17" EndLine="92" EndColumn="63">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>001d: deleting Ldsfld, Ldstr, Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution String.fileName =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution String.fileName =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution String.fileName =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution String.fileName =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution String.fileName =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: read substitution String.fileName =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="93" StartColumn="17" EndLine="93" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002e: deleting Ldarg, Ldloc, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: write substitution String.target =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: write substitution String.target =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: write substitution String.target =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: write substitution String.target =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002e: read substitution String.targetDirectory =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002e: read substitution String.targetDirectory =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002e: read substitution String.targetDirectory =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002e: read substitution String.targetDirectory =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002e: read substitution String.targetDirectory =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002e: read substitution String.targetDirectory =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution String.fileName =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution String.fileName =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution String.fileName =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution String.fileName =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution String.fileName =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002f: read substitution String.fileName =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="94" StartColumn="17" EndLine="94" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0036: deleting Ldloc, Ldloc, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: read substitution String.file =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: read substitution String.file =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: read substitution String.file =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: read substitution String.file =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: read substitution String.file =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0036: read substitution String.file =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.target =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.target =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.target =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.target =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.target =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution String.target =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="95" StartColumn="4" EndLine="95" EndColumn="5">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>003e: deleting Nop, Ldloc, Ldc_I4, Add, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0042: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0042: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0042: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0042: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="22" EndLine="89" EndColumn="24">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0045: deleting Ldloc, Ldloc, Ldlen, Conv_I4, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0045: deleting Ldloc, Ldloc, Ldlen, Conv_I4, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0051: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0051: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0051: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="96" StartColumn="33" EndLine="96" EndColumn="68">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0054: deleting Ldarg, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: deleting Ldarg, Call, Stloc, Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: read substitution String.directory =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: read substitution String.directory =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: read substitution String.directory =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: read substitution String.directory =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: read substitution String.directory =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0054: read substitution String.directory =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="96" StartColumn="13" EndLine="96" EndColumn="29">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0061: deleting Ldloc, Ldloc, Ldelem_Ref, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution String.subDirectory =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution String.subDirectory =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution String.subDirectory =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution String.subDirectory =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="98" StartColumn="8" EndLine="98" EndColumn="65">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0068: deleting Ldloc, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: write substitution String.subDirectoryName =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: write substitution String.subDirectoryName =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: write substitution String.subDirectoryName =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: write substitution String.subDirectoryName =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution String.subDirectory =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution String.subDirectory =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution String.subDirectory =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution String.subDirectory =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution String.subDirectory =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution String.subDirectory =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="17" EndLine="99" EndColumn="80">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0070: deleting Ldsfld, Ldstr, Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: read substitution String.subDirectoryName =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: read substitution String.subDirectoryName =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: read substitution String.subDirectoryName =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: read substitution String.subDirectoryName =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: read substitution String.subDirectoryName =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007a: read substitution String.subDirectoryName =&gt; String.subDirectory</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="100" StartColumn="17" EndLine="100" EndColumn="81">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0082: deleting Ldarg, Ldloc, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008a: write substitution String.target =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008a: write substitution String.target =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008a: write substitution String.target =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008a: write substitution String.target =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0082: read substitution String.targetDirectory =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0082: read substitution String.targetDirectory =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0082: read substitution String.targetDirectory =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0082: read substitution String.targetDirectory =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0082: read substitution String.targetDirectory =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: read substitution String.subDirectoryName =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: read substitution String.subDirectoryName =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: read substitution String.subDirectoryName =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: read substitution String.subDirectoryName =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: read substitution String.subDirectoryName =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0083: read substitution String.subDirectoryName =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0082: read substitution String.targetDirectory =&gt; String.subDirectory</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="101" StartColumn="17" EndLine="101" EndColumn="51">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>008b: deleting Ldloc, Call, Pop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008b: read substitution String.target =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008b: read substitution String.target =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008b: read substitution String.target =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008b: read substitution String.target =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008b: read substitution String.target =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008b: read substitution String.target =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="102" StartColumn="5" EndLine="102" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0092: deleting Ldloc, Ldloc, Call, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: read substitution String.subDirectory =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: read substitution String.subDirectory =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: read substitution String.subDirectory =&gt; String.target</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: read substitution String.subDirectory =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: read substitution String.target =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: read substitution String.target =&gt; String.targetDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: read substitution String.target =&gt; String.file</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: read substitution String.target =&gt; String.fileName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: read substitution String.target =&gt; String.subDirectory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0093: read substitution String.target =&gt; String.subDirectoryName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: read substitution String.subDirectory =&gt; String.directory</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0092: read substitution String.subDirectory =&gt; String.targetDirectory</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="103" StartColumn="4" EndLine="103" EndColumn="5">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009a: deleting Nop, Ldloc, Ldc_I4, Add, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009e: Add =&gt; Sub</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009e: Add =&gt; Mul</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009e: Add =&gt; Div</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009e: Add =&gt; Rem</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="96" StartColumn="30" EndLine="96" EndColumn="32">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a1: deleting Ldloc, Ldloc, Ldlen, Conv_I4, Clt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a1: deleting Ldloc, Ldloc, Ldlen, Conv_I4, Clt, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a7: Clt =&gt; not Cgt</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ad: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ad: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ad: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.IO;</Line>
        <Line Number="24" />
        <Line Number="25">using NLog;</Line>
        <Line Number="26" />
        <Line Number="27">namespace NinjaTurtles</Line>
        <Line Number="28">{</Line>
        <Line Number="29">    /// &lt;summary&gt;</Line>
        <Line Number="30">    /// Represents a temporary directory used to contain a mutated assembly</Line>
        <Line Number="31">    /// to be tested. The directory cleans up after itself when its</Line>
        <Line Number="32">    /// &lt;see mref="Dispose" /&gt; method is called, unless its</Line>
        <Line Number="33">    /// &lt;see pref="DoNotDelete" /&gt; property is set to &lt;b&gt;true&lt;/b&gt;.</Line>
        <Line Number="34">    /// &lt;/summary&gt;</Line>
        <Line Number="35">    public class TestDirectory : IDisposable</Line>
        <Line Number="36">    {</Line>
        <Line Number="37">        #region Logging</Line>
        <Line Number="38" />
        <Line Number="39">        private static Logger _log = LogManager.GetCurrentClassLogger();</Line>
        <Line Number="40" />
        <Line Number="41">        #endregion</Line>
        <Line Number="42" />
        <Line Number="43">        private readonly string _folder;</Line>
        <Line Number="44" />
        <Line Number="45">        /// &lt;summary&gt;</Line>
        <Line Number="46">        /// Initializes a new instance of the &lt;see cref="TestDirectory" /&gt;</Line>
        <Line Number="47">        /// class.</Line>
        <Line Number="48">        /// &lt;/summary&gt;</Line>
        <Line Number="49">        public TestDirectory()</Line>
        <Line Number="50">        {</Line>
        <Line Number="51">            _folder = Path.Combine(Path.GetTempPath(),</Line>
        <Line Number="52">                                   "NinjaTurtles",</Line>
        <Line Number="53">                                   Guid.NewGuid().ToString("N"));</Line>
        <Line Number="54">            _log.Debug("Creating folder \"{0}\".", _folder);</Line>
        <Line Number="55">            Directory.CreateDirectory(_folder);</Line>
        <Line Number="56">        }</Line>
        <Line Number="57" />
        <Line Number="58">        /// &lt;summary&gt;</Line>
        <Line Number="59">        /// Initializes a new instance of the &lt;see cref="TestDirectory" /&gt;</Line>
        <Line Number="60">        /// class.</Line>
        <Line Number="61">        /// &lt;/summary&gt;</Line>
        <Line Number="62">        /// &lt;param name="sourceFolder"&gt;</Line>
        <Line Number="63">        /// The name of a folder whose contents should be recursively</Line>
        <Line Number="64">        /// copied to the temporary folder.</Line>
        <Line Number="65">        /// &lt;/param&gt;</Line>
        <Line Number="66">        public TestDirectory(string sourceFolder)</Line>
        <Line Number="67">            : this()</Line>
        <Line Number="68">        {</Line>
        <Line Number="69">            _log.Debug("Copying contents from folder \"{0}\".", sourceFolder);</Line>
        <Line Number="70">            CopyDirectoryContents(sourceFolder, _folder);</Line>
        <Line Number="71">        }</Line>
        <Line Number="72" />
        <Line Number="73">        /// &lt;summary&gt;</Line>
        <Line Number="74">        /// Saves an image of a mutated assembly into the root of the test</Line>
        <Line Number="75">        /// directory.</Line>
        <Line Number="76">        /// &lt;/summary&gt;</Line>
        <Line Number="77">        /// &lt;param name="module"&gt;&lt;/param&gt;</Line>
        <Line Number="78">        public void SaveAssembly(Module module)</Line>
        <Line Number="79">        {</Line>
        <Line Number="80">            string fileName = Path.GetFileName(module.AssemblyLocation);</Line>
        <Line Number="81">            string path = Path.Combine(_folder, fileName);</Line>
        <Line Number="82">            _log.Debug("Writing assembly \"{0}\" to \"{1}\".", fileName, _folder);</Line>
        <Line Number="83">            module.AssemblyDefinition.Write(path);</Line>
        <Line Number="84">        }</Line>
        <Line Number="85" />
        <Line Number="86">        private static void CopyDirectoryContents</Line>
        <Line Number="87">            (string directory, string targetDirectory)</Line>
        <Line Number="88">        {</Line>
        <Line Number="89">            foreach (var file in Directory.GetFiles(directory))</Line>
        <Line Number="90">            {</Line>
        <Line Number="91">                string fileName = Path.GetFileName(file);</Line>
        <Line Number="92">                _log.Trace("Copying file \"{0}\".", fileName);</Line>
        <Line Number="93">                string target = Path.Combine(targetDirectory, fileName);</Line>
        <Line Number="94">                File.Copy(file, target);</Line>
        <Line Number="95">            }</Line>
        <Line Number="96">            foreach (var subDirectory in Directory.GetDirectories(directory))</Line>
        <Line Number="97">            {</Line>
        <Line Number="98">                string subDirectoryName = Path.GetFileName(subDirectory);</Line>
        <Line Number="99">                _log.Trace("Creating subdirectory \"{0}\".", subDirectoryName);</Line>
        <Line Number="100">                string target = Path.Combine(targetDirectory, subDirectoryName);</Line>
        <Line Number="101">                Directory.CreateDirectory(target);</Line>
        <Line Number="102">                CopyDirectoryContents(subDirectory, target);</Line>
        <Line Number="103">            }</Line>
        <Line Number="104">        }</Line>
        <Line Number="105" />
        <Line Number="106">        /// &lt;summary&gt;</Line>
        <Line Number="107">        /// Gets the full path of the test directory.</Line>
        <Line Number="108">        /// &lt;/summary&gt;</Line>
        <Line Number="109">        public string FullName</Line>
        <Line Number="110">        {</Line>
        <Line Number="111">            get { return _folder; }</Line>
        <Line Number="112">        }</Line>
        <Line Number="113" />
        <Line Number="114">        /// &lt;summary&gt;</Line>
        <Line Number="115">        /// Performs application-defined tasks associated with freeing,</Line>
        <Line Number="116">        /// releasing, or resetting unmanaged resources.</Line>
        <Line Number="117">        /// &lt;/summary&gt;</Line>
        <Line Number="118">        public void Dispose()</Line>
        <Line Number="119">        {</Line>
        <Line Number="120">            if (DoNotDelete)</Line>
        <Line Number="121">            {</Line>
        <Line Number="122">                return;</Line>
        <Line Number="123">            }</Line>
        <Line Number="124">            try</Line>
        <Line Number="125">            {</Line>
        <Line Number="126">                _log.Debug("Deleting folder \"{0}\".", _folder);</Line>
        <Line Number="127">                Directory.Delete(_folder, true);</Line>
        <Line Number="128">            }</Line>
        <Line Number="129">            catch (Exception ex)</Line>
        <Line Number="130">            {</Line>
        <Line Number="131">                string message = string.Format("Failed to delete folder \"{0}\".", _folder);</Line>
        <Line Number="132">                _log.ErrorException(message, ex);</Line>
        <Line Number="133">            }</Line>
        <Line Number="134">        }</Line>
        <Line Number="135" />
        <Line Number="136">        /// &lt;summary&gt;</Line>
        <Line Number="137">        /// Gets or sets a flag indicating whether or not the contents of the</Line>
        <Line Number="138">        /// test directory should be allowed to remain on disk when the</Line>
        <Line Number="139">        /// instance is disposed.</Line>
        <Line Number="140">        /// &lt;/summary&gt;</Line>
        <Line Number="141">        public bool DoNotDelete { get; set; }</Line>
        <Line Number="142">    }</Line>
        <Line Number="143">}</Line>
        <Line Number="144" />
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\MutationTestBuilder.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="158" StartColumn="13" EndLine="158" EndColumn="65">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="159" StartColumn="13" EndLine="159" EndColumn="102">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0007: deleting Ldloc, Ldarg, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: read substitution String.targetClass =&gt; String.targetMethod</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="161" StartColumn="13" EndLine="161" EndColumn="94">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0016: read substitution String.targetMethod =&gt; String.targetClass</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="162" StartColumn="9" EndLine="162" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Reflection;</Line>
        <Line Number="24" />
        <Line Number="25">using NinjaTurtles.TestRunners;</Line>
        <Line Number="26" />
        <Line Number="27">namespace NinjaTurtles</Line>
        <Line Number="28">{</Line>
        <Line Number="29">    /// &lt;summary&gt;</Line>
        <Line Number="30">    /// A static class used as the starting point for a fluent definition of</Line>
        <Line Number="31">    /// a set of mutation tests.</Line>
        <Line Number="32">    /// &lt;/summary&gt;</Line>
        <Line Number="33">    /// &lt;typeparam name="T"&gt;</Line>
        <Line Number="34">    /// The type to be tested.</Line>
        <Line Number="35">    /// &lt;/typeparam&gt;</Line>
        <Line Number="36">    /// &lt;example&gt;</Line>
        <Line Number="37">    /// &lt;para&gt;</Line>
        <Line Number="38">    /// This code creates and runs mutation tests for the </Line>
        <Line Number="39">    /// &lt;b&gt;ClassUnderTest&lt;/b&gt; class's &lt;b&gt;MethodUnderTest&lt;/b&gt; method:</Line>
        <Line Number="40">    /// &lt;/para&gt;</Line>
        <Line Number="41">    /// &lt;code lang="cs"&gt;</Line>
        <Line Number="42">    /// MutationTestBuilder&amp;lt;ClassUnderTest&amp;gt;</Line>
        <Line Number="43">    ///     .For("MethodUnderTest")</Line>
        <Line Number="44">    ///     .Run();</Line>
        <Line Number="45">    /// &lt;/code&gt;</Line>
        <Line Number="46">    /// &lt;code lang="vbnet"&gt;</Line>
        <Line Number="47">    /// Call MutationTestBuilder(Of ClassUnderTest) _</Line>
        <Line Number="48">    ///     .For("MethodUnderTest") _</Line>
        <Line Number="49">    ///     .Run</Line>
        <Line Number="50">    /// &lt;/code&gt;</Line>
        <Line Number="51">    /// &lt;code lang="cpp"&gt;</Line>
        <Line Number="52">    /// MutationTestBuilder&amp;lt;ClassUnderTest^&amp;gt;</Line>
        <Line Number="53">    ///     ::For("MethodUnderTest")</Line>
        <Line Number="54">    ///     -&gt;Run();</Line>
        <Line Number="55">    /// &lt;/code&gt;</Line>
        <Line Number="56">    /// &lt;para&gt;</Line>
        <Line Number="57">    /// When this code is included in a test, it causes the matching tests to</Line>
        <Line Number="58">    /// be run for each mutation that is found of the code under test. The</Line>
        <Line Number="59">    /// matching tests are determined automatically by NinjaTurtles. By</Line>
        <Line Number="60">    /// default, NinjaTurtles assumes it is running under NUnit, and thus uses</Line>
        <Line Number="61">    /// an NUnit runner to run the suite against the mutated code. This can be</Line>
        <Line Number="62">    /// changed using the fluent interface:</Line>
        <Line Number="63">    /// &lt;/para&gt;</Line>
        <Line Number="64">    /// &lt;code lang="cs"&gt;</Line>
        <Line Number="65">    /// MutationTestBuilder&amp;lt;ClassUnderTest&amp;gt;</Line>
        <Line Number="66">    ///     .For("MethodUnderTest")</Line>
        <Line Number="67">    ///     .UsingRunner&amp;lt;GallioTestRunner&amp;gt;()</Line>
        <Line Number="68">    ///     .Run();</Line>
        <Line Number="69">    /// &lt;/code&gt;</Line>
        <Line Number="70">    /// &lt;code lang="vbnet"&gt;</Line>
        <Line Number="71">    /// Call MutationTestBuilder(Of ClassUnderTest) _</Line>
        <Line Number="72">    ///     .For("MethodUnderTest") _</Line>
        <Line Number="73">    ///     .UsingRunner(Of GallioTestRunner)() _</Line>
        <Line Number="74">    ///     .Run</Line>
        <Line Number="75">    /// &lt;/code&gt;</Line>
        <Line Number="76">    /// &lt;code lang="cpp"&gt;</Line>
        <Line Number="77">    /// MutationTestBuilder&amp;lt;ClassUnderTest^&amp;gt;</Line>
        <Line Number="78">    ///     ::For("MethodUnderTest")</Line>
        <Line Number="79">    ///     -&gt;UsingRunner&amp;lt;GallioTestRunner^&amp;gt;()</Line>
        <Line Number="80">    ///     -&gt;Run();</Line>
        <Line Number="81">    /// &lt;/code&gt;</Line>
        <Line Number="82">    /// &lt;para&gt;</Line>
        <Line Number="83">    /// Alternatively, this option can be set across all tests in a fixture by</Line>
        <Line Number="84">    /// including this line in the test fixture's setup method:</Line>
        <Line Number="85">    /// &lt;/para&gt;</Line>
        <Line Number="86">    /// &lt;code lang="cs"&gt;</Line>
        <Line Number="87">    /// MutationTestBuilder.UseRunner&amp;lt;GallioTestRunner&amp;gt;();</Line>
        <Line Number="88">    /// &lt;/code&gt;</Line>
        <Line Number="89">    /// &lt;code lang="vbnet"&gt;</Line>
        <Line Number="90">    /// Call MutationTestBuilder.UseRunner(Of GallioTestRunner)</Line>
        <Line Number="91">    /// &lt;/code&gt;</Line>
        <Line Number="92">    /// &lt;code lang="cpp"&gt;</Line>
        <Line Number="93">    /// MutationTestBuilder::UseRunner&amp;lt;GallioTestRunner^&amp;gt;();</Line>
        <Line Number="94">    /// &lt;/code&gt;</Line>
        <Line Number="95">    /// &lt;/example&gt;</Line>
        <Line Number="96">    public sealed class MutationTestBuilder&lt;T&gt;</Line>
        <Line Number="97">    {</Line>
        <Line Number="98">        /// &lt;summary&gt;</Line>
        <Line Number="99">        /// Returns an &lt;see cref="IMutationTest" /&gt; instance allowing a fluent</Line>
        <Line Number="100">        /// definition of a set of mutation tests for a particular method.</Line>
        <Line Number="101">        /// &lt;/summary&gt;</Line>
        <Line Number="102">        /// &lt;param name="targetMethod"&gt;</Line>
        <Line Number="103">        /// The name of the method to mutate.</Line>
        <Line Number="104">        /// &lt;/param&gt;</Line>
        <Line Number="105">        /// &lt;param name="parameterTypes"&gt;</Line>
        <Line Number="106">        /// Optional parameter specifying an array of parameter types used to</Line>
        <Line Number="107">        /// identify a particular method overload.</Line>
        <Line Number="108">        /// &lt;/param&gt;</Line>
        <Line Number="109">        /// &lt;returns&gt;</Line>
        <Line Number="110">        /// An &lt;see cref="IMutationTest" /&gt; instance to allow fluent</Line>
        <Line Number="111">        /// method chaining.</Line>
        <Line Number="112">        /// &lt;/returns&gt;</Line>
        <Line Number="113">        public static IMutationTest For(string targetMethod, Type[] parameterTypes = null)</Line>
        <Line Number="114">        {</Line>
        <Line Number="115">            var callingAssembly = Assembly.GetCallingAssembly();</Line>
        <Line Number="116">            return MutationTestBuilder.For(callingAssembly.Location, typeof(T), targetMethod, parameterTypes);</Line>
        <Line Number="117">        }</Line>
        <Line Number="118">    }</Line>
        <Line Number="119" />
        <Line Number="120">    /// &lt;summary&gt;</Line>
        <Line Number="121">    /// A static class used as the starting point for a fluent definition of</Line>
        <Line Number="122">    /// a set of mutation tests.</Line>
        <Line Number="123">    /// &lt;/summary&gt;</Line>
        <Line Number="124">    /// &lt;remarks&gt;</Line>
        <Line Number="125">    /// For public classes, the generic &lt;see cref="MutationTestBuilder{T}" /&gt;</Line>
        <Line Number="126">    /// is to be prefered. See that class for full documentation.</Line>
        <Line Number="127">    /// &lt;/remarks&gt;</Line>
        <Line Number="128">    public sealed class MutationTestBuilder</Line>
        <Line Number="129">    {</Line>
        <Line Number="130">        internal static Type TestRunner { get; set; }</Line>
        <Line Number="131" />
        <Line Number="132">        static MutationTestBuilder()</Line>
        <Line Number="133">        {</Line>
        <Line Number="134">            TestRunner = typeof(NUnitTestRunner);</Line>
        <Line Number="135">        }</Line>
        <Line Number="136" />
        <Line Number="137">        /// &lt;summary&gt;</Line>
        <Line Number="138">        /// Returns an &lt;see cref="IMutationTest" /&gt; instance allowing a fluent</Line>
        <Line Number="139">        /// definition of a set of mutation tests for a particular method.</Line>
        <Line Number="140">        /// &lt;/summary&gt;</Line>
        <Line Number="141">        /// &lt;param name="targetClass"&gt;</Line>
        <Line Number="142">        /// The namespace-qualified name of the type for which mutation tests</Line>
        <Line Number="143">        /// are being defined.</Line>
        <Line Number="144">        /// &lt;/param&gt;</Line>
        <Line Number="145">        /// &lt;param name="targetMethod"&gt;</Line>
        <Line Number="146">        /// The name of the method to mutate.</Line>
        <Line Number="147">        /// &lt;/param&gt;</Line>
        <Line Number="148">        /// &lt;param name="parameterTypes"&gt;</Line>
        <Line Number="149">        /// Optional parameter specifying an array of parameter types used to</Line>
        <Line Number="150">        /// identify a particular method overload.</Line>
        <Line Number="151">        /// &lt;/param&gt;</Line>
        <Line Number="152">        /// &lt;returns&gt;</Line>
        <Line Number="153">        /// An &lt;see cref="IMutationTest" /&gt; instance to allow fluent</Line>
        <Line Number="154">        /// method chaining.</Line>
        <Line Number="155">        /// &lt;/returns&gt;</Line>
        <Line Number="156">        public static IMutationTest For(string targetClass, string targetMethod, Type[] parameterTypes = null)</Line>
        <Line Number="157">        {</Line>
        <Line Number="158">            var callingAssembly = Assembly.GetCallingAssembly();</Line>
        <Line Number="159">            Type resolvedType = TypeResolver.ResolveTypeFromReferences(callingAssembly, targetClass);</Line>
        <Line Number="160" />
        <Line Number="161">            return For(callingAssembly.Location, resolvedType, targetMethod, parameterTypes);</Line>
        <Line Number="162">        }</Line>
        <Line Number="163" />
        <Line Number="164">        internal static IMutationTest For(string callingAssemblyLocation, Type targetType, string targetMethod, Type[] parameterTypes)</Line>
        <Line Number="165">        {</Line>
        <Line Number="166">            return new MutationTest(callingAssemblyLocation, targetType, targetMethod, parameterTypes);</Line>
        <Line Number="167">        }</Line>
        <Line Number="168" />
        <Line Number="169">        /// &lt;summary&gt;</Line>
        <Line Number="170">        /// Specifies the implementation of &lt;see cref="ITestRunner" /&gt; to be</Line>
        <Line Number="171">        /// used to run the test suite for each mutant. By default, this will</Line>
        <Line Number="172">        /// be the &lt;see cref="NUnitTestRunner" /&gt;. This can still be overridden</Line>
        <Line Number="173">        /// on a per-test basis using the</Line>
        <Line Number="174">        /// &lt;see mref="IMutationTest.UsingRunner" /&gt; method.</Line>
        <Line Number="175">        /// &lt;/summary&gt;</Line>
        <Line Number="176">        /// &lt;typeparam name="T"&gt;</Line>
        <Line Number="177">        /// A type that implements &lt;see cref="ITestRunner" /&gt;.</Line>
        <Line Number="178">        /// &lt;/typeparam&gt;</Line>
        <Line Number="179">        public static void UseRunner&lt;T&gt;() where T : ITestRunner</Line>
        <Line Number="180">        {</Line>
        <Line Number="181">            TestRunner = typeof(T);</Line>
        <Line Number="182">        }</Line>
        <Line Number="183">    }</Line>
        <Line Number="184">}</Line>
        <Line Number="185" />
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\Module.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="77" StartColumn="13" EndLine="77" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Call, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="78" StartColumn="13" EndLine="78" EndColumn="32">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldloc, Ldnull, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldloc, Ldnull, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0013: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0013: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0013: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="78" StartColumn="33" EndLine="78" EndColumn="40">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0015: deleting Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="80" StartColumn="13" EndLine="80" EndColumn="44">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>001a: deleting Ldarg, Call, Ldloc, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="82" StartColumn="13" EndLine="82" EndColumn="62">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0027: deleting Ldarg, Ldarg, Call, Callvirt, Ldloc, Call, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="84" StartColumn="36" EndLine="86" EndColumn="39">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>003b: deleting Ldarg, Call, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>003b: deleting Ldarg, Call, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="84" StartColumn="22" EndLine="84" EndColumn="32">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009a: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009a: deleting Ldloc, Callvirt, Stloc, Newobj, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="88" StartColumn="17" EndLine="88" EndColumn="58">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00aa: deleting Ldloc, Ldloc, Stfld</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="17" EndLine="90" EndColumn="95">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00b2: deleting Ldloc, Ldloc, Ldfld, Callvirt, Ldloc, Ldftn, Newobj, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="92" StartColumn="17" EndLine="94" EndColumn="33">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00d2: deleting Ldloc, Callvirt, Callvirt, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e2: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e2: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00e2: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0106: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0106: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0106: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="95" StartColumn="44" EndLine="95" EndColumn="55">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>012c: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>012c: deleting Ldloc, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="95" StartColumn="26" EndLine="95" EndColumn="40">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0136: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="97" StartColumn="21" EndLine="97" EndColumn="89">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>013f: deleting Ldarg, Call, Ldloc, Callvirt, Brtrue, Ldloc, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>013f: deleting Ldarg, Call, Ldloc, Callvirt, Brtrue, Ldloc, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014b: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014b: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>014b: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>015d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>015d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>015d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="99" StartColumn="25" EndLine="99" EndColumn="84">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0160: deleting Ldarg, Call, Ldloc, Ldloc, Call, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="95" StartColumn="41" EndLine="95" EndColumn="43">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0175: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0175: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0175: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0180: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0180: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0180: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018d: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018d: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>018d: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="84" StartColumn="33" EndLine="84" EndColumn="35">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>019a: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019a: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>019a: deleting Ldloc, Callvirt, Stloc, Ldloc, Brtrue, Leave, Ldloc, Ldnull, Ceq, Stloc, Ldloc, Brtrue, Ldloc, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a5: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a5: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01a5: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b5: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b5: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>01b5: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants />
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System.Collections.Generic;</Line>
        <Line Number="23">using System.IO;</Line>
        <Line Number="24">using System.Linq;</Line>
        <Line Number="25" />
        <Line Number="26">using Mono.Cecil;</Line>
        <Line Number="27">using Mono.Cecil.Cil;</Line>
        <Line Number="28">using Mono.Cecil.Mdb;</Line>
        <Line Number="29">using Mono.Cecil.Pdb;</Line>
        <Line Number="30">using Mono.Collections.Generic;</Line>
        <Line Number="31" />
        <Line Number="32">namespace NinjaTurtles</Line>
        <Line Number="33">{</Line>
        <Line Number="34">    /// &lt;summary&gt;</Line>
        <Line Number="35">    /// Class representing the main module of a .NET assembly.</Line>
        <Line Number="36">    /// &lt;/summary&gt;</Line>
        <Line Number="37">    public class Module</Line>
        <Line Number="38">    {</Line>
        <Line Number="39">        /// &lt;summary&gt;</Line>
        <Line Number="40">        /// Initializes a new instance of the &lt;see cref="Module" /&gt; class.</Line>
        <Line Number="41">        /// &lt;/summary&gt;</Line>
        <Line Number="42">        /// &lt;param name="assemblyLocation"&gt;</Line>
        <Line Number="43">        /// The location on disk of the assembly whose main module is to be</Line>
        <Line Number="44">        /// loaded.</Line>
        <Line Number="45">        /// &lt;/param&gt;</Line>
        <Line Number="46">        public Module(string assemblyLocation)</Line>
        <Line Number="47">        {</Line>
        <Line Number="48">            AssemblyLocation = assemblyLocation;</Line>
        <Line Number="49">            AssemblyDefinition = AssemblyDefinition.ReadAssembly(assemblyLocation);</Line>
        <Line Number="50">            Definition = AssemblyDefinition.MainModule;</Line>
        <Line Number="51">            SourceFiles = new Dictionary&lt;string, string[]&gt;();</Line>
        <Line Number="52">        }</Line>
        <Line Number="53" />
        <Line Number="54">        /// &lt;summary&gt;</Line>
        <Line Number="55">        /// Gets the location on disk of the assembly.</Line>
        <Line Number="56">        /// &lt;/summary&gt;</Line>
        <Line Number="57">        public string AssemblyLocation { get; private set; }</Line>
        <Line Number="58" />
        <Line Number="59">        /// &lt;summary&gt;</Line>
        <Line Number="60">        /// Gets the &lt;see cref="AssemblyDefinition" /&gt;.</Line>
        <Line Number="61">        /// &lt;/summary&gt;</Line>
        <Line Number="62">        public AssemblyDefinition AssemblyDefinition { get; private set; }</Line>
        <Line Number="63" />
        <Line Number="64">        /// &lt;summary&gt;</Line>
        <Line Number="65">        /// Gets the &lt;see cref="ModuleDefinition" /&gt;.</Line>
        <Line Number="66">        /// &lt;/summary&gt;</Line>
        <Line Number="67">        public ModuleDefinition Definition { get; private set; }</Line>
        <Line Number="68" />
        <Line Number="69">        /// &lt;summary&gt;</Line>
        <Line Number="70">        /// Gets a dictionary of source code files with their contained lines</Line>
        <Line Number="71">        /// of code.</Line>
        <Line Number="72">        /// &lt;/summary&gt;</Line>
        <Line Number="73">        public IDictionary&lt;string, string[]&gt; SourceFiles { get; private set; } </Line>
        <Line Number="74" />
        <Line Number="75">        internal void LoadDebugInformation()</Line>
        <Line Number="76">        {</Line>
        <Line Number="77">            var reader = ResolveSymbolReader();</Line>
        <Line Number="78">            if (reader == null) return;</Line>
        <Line Number="79" />
        <Line Number="80">            Definition.ReadSymbols(reader);</Line>
        <Line Number="81" />
        <Line Number="82">            LoadSourceCodeForTypes(Definition.Types, reader);</Line>
        <Line Number="83" />
        <Line Number="84">            foreach (var method in Definition.Types</Line>
        <Line Number="85">                .SelectMany(t =&gt; t.Methods)</Line>
        <Line Number="86">                .Where(m =&gt; m.HasBody))</Line>
        <Line Number="87">            {</Line>
        <Line Number="88">                MethodDefinition capturedMethod = method;</Line>
        <Line Number="89">                reader.Read(capturedMethod.Body,</Line>
        <Line Number="90">                    o =&gt; capturedMethod.Body.Instructions.FirstOrDefault(i =&gt; i.Offset &gt;= o));</Line>
        <Line Number="91" />
        <Line Number="92">                var sourceFiles = method.Body.Instructions.Where(i =&gt; i.SequencePoint != null)</Line>
        <Line Number="93">                    .Select(i =&gt; i.SequencePoint.Document.Url)</Line>
        <Line Number="94">                    .Distinct();</Line>
        <Line Number="95">                foreach (var sourceFile in sourceFiles)</Line>
        <Line Number="96">                {</Line>
        <Line Number="97">                    if (!SourceFiles.ContainsKey(sourceFile) &amp;&amp; File.Exists(sourceFile))</Line>
        <Line Number="98">                    {</Line>
        <Line Number="99">                        SourceFiles.Add(sourceFile, File.ReadAllLines(sourceFile));</Line>
        <Line Number="100">                    }</Line>
        <Line Number="101">                }</Line>
        <Line Number="102">            }</Line>
        <Line Number="103">        }</Line>
        <Line Number="104" />
        <Line Number="105">        private void LoadSourceCodeForTypes(Collection&lt;TypeDefinition&gt; types, ISymbolReader reader)</Line>
        <Line Number="106">        {</Line>
        <Line Number="107">            foreach (var typeDefinition in types)</Line>
        <Line Number="108">            {</Line>
        <Line Number="109">                foreach (var method in typeDefinition.Methods.Where(m =&gt; m.HasBody))</Line>
        <Line Number="110">                {</Line>
        <Line Number="111">                    MethodDefinition capturedMethod = method;</Line>
        <Line Number="112">                    reader.Read(capturedMethod.Body,</Line>
        <Line Number="113">                        o =&gt; capturedMethod.Body.Instructions.FirstOrDefault(i =&gt; i.Offset &gt;= o));</Line>
        <Line Number="114" />
        <Line Number="115">                    var sourceFiles = method.Body.Instructions.Where(i =&gt; i.SequencePoint != null)</Line>
        <Line Number="116">                        .Select(i =&gt; i.SequencePoint.Document.Url)</Line>
        <Line Number="117">                        .Distinct();</Line>
        <Line Number="118">                    foreach (var sourceFile in sourceFiles)</Line>
        <Line Number="119">                    {</Line>
        <Line Number="120">                        if (!SourceFiles.ContainsKey(sourceFile) &amp;&amp; File.Exists(sourceFile))</Line>
        <Line Number="121">                        {</Line>
        <Line Number="122">                            SourceFiles.Add(sourceFile, File.ReadAllLines(sourceFile));</Line>
        <Line Number="123">                        }</Line>
        <Line Number="124">                    }</Line>
        <Line Number="125">                }</Line>
        <Line Number="126">                if (typeDefinition.NestedTypes != null)</Line>
        <Line Number="127">                {</Line>
        <Line Number="128">                    LoadSourceCodeForTypes(typeDefinition.NestedTypes, reader);</Line>
        <Line Number="129">                }</Line>
        <Line Number="130">            }</Line>
        <Line Number="131">        }</Line>
        <Line Number="132" />
        <Line Number="133">        private ISymbolReader ResolveSymbolReader()</Line>
        <Line Number="134">        {</Line>
        <Line Number="135">            string symbolLocation = null;</Line>
        <Line Number="136">            string pdbLocation = Path.ChangeExtension(AssemblyLocation, "pdb");</Line>
        <Line Number="137">            string mdbLocation = AssemblyLocation + ".mdb";</Line>
        <Line Number="138">            ISymbolReaderProvider provider = null;</Line>
        <Line Number="139">            if (File.Exists(pdbLocation))</Line>
        <Line Number="140">            {</Line>
        <Line Number="141">                symbolLocation = pdbLocation;</Line>
        <Line Number="142">                provider = new PdbReaderProvider();</Line>
        <Line Number="143">            }</Line>
        <Line Number="144">            else if (File.Exists(mdbLocation))</Line>
        <Line Number="145">            {</Line>
        <Line Number="146">                symbolLocation = AssemblyLocation;</Line>
        <Line Number="147">                provider = new MdbReaderProvider();</Line>
        <Line Number="148">            }</Line>
        <Line Number="149">            if (provider == null) return null;</Line>
        <Line Number="150">            var reader = provider.GetSymbolReader(Definition, symbolLocation);</Line>
        <Line Number="151">            return reader;</Line>
        <Line Number="152">        }</Line>
        <Line Number="153">    }</Line>
        <Line Number="154">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\MethodDefinitionResolver.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="62" StartColumn="13" EndLine="62" EndColumn="40">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0017: deleting Ldloc, Ldfld, Ldnull, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0017: deleting Ldloc, Ldfld, Ldnull, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0027: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="64" StartColumn="17" EndLine="64" EndColumn="100">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002a: deleting Ldsfld, Ldstr, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="65" StartColumn="17" EndLine="65" EndColumn="66">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>003a: deleting Ldarg, Ldloc, Ldfld, Call, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0046: write substitution MethodDefinition.CS$1$0000 =&gt; MethodDefinition.methodDefinition</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="69" StartColumn="17" EndLine="74" EndColumn="70">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004a: deleting Ldarg, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: write substitution MethodDefinition.methodDefinition =&gt; MethodDefinition.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0051: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0051: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0051: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="75" StartColumn="17" EndLine="75" EndColumn="117">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0069: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Ldarg, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="76" StartColumn="17" EndLine="76" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0085: deleting Ldloc, Stloc, Leave</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0086: write substitution MethodDefinition.CS$1$0000 =&gt; MethodDefinition.methodDefinition</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0085: read substitution MethodDefinition.methodDefinition =&gt; MethodDefinition.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="80" StartColumn="17" EndLine="80" EndColumn="106">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>008b: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="81" StartColumn="17" EndLine="81" EndColumn="152">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a1: deleting Ldstr, Ldloc, Ldfld, Call, Ldstr, Newobj, Throw</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a1: deleting Ldstr, Ldloc, Ldfld, Call, Ldstr, Newobj, Throw, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="78" StartColumn="13" EndLine="78" EndColumn="46">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="83" StartColumn="9" EndLine="83" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="41" StartColumn="13" EndLine="41" EndColumn="101">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0010: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Ldarg, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="44" StartColumn="17" EndLine="44" EndColumn="110">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002d: deleting Ldarg, Callvirt, Ldloc, Brtrue, Ldloc, Ldftn, Newobj, Stloc, Br, Ldloc, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004b: write substitution MethodDefinition.methodDefinition =&gt; MethodDefinition.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="45" StartColumn="17" EndLine="45" EndColumn="117">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004c: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Ldarg, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="46" StartColumn="17" EndLine="46" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0068: deleting Ldloc, Stloc, Leave</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0069: write substitution MethodDefinition.CS$1$0000 =&gt; MethodDefinition.methodDefinition</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0068: read substitution MethodDefinition.methodDefinition =&gt; MethodDefinition.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="48" StartColumn="13" EndLine="48" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>006d: deleting Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="50" StartColumn="17" EndLine="50" EndColumn="75">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>006f: deleting Ldloc, Callvirt, Ldstr, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006f: deleting Ldloc, Callvirt, Ldstr, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0086: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0086: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0086: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="52" StartColumn="21" EndLine="52" EndColumn="79">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0089: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="53" StartColumn="21" EndLine="53" EndColumn="125">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009f: deleting Ldstr, Ldloc, Ldfld, Call, Ldstr, Newobj, Throw</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="55" StartColumn="17" EndLine="55" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00ba: deleting Ldsfld, Ldstr, Ldloc, Ldfld, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="56" StartColumn="17" EndLine="56" EndColumn="119">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00d0: deleting Ldstr, Ldloc, Ldfld, Call, Ldstr, Newobj, Throw</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d0: deleting Ldstr, Ldloc, Ldfld, Call, Ldstr, Newobj, Throw, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="58" StartColumn="9" EndLine="58" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Linq;</Line>
        <Line Number="24" />
        <Line Number="25">using Mono.Cecil;</Line>
        <Line Number="26" />
        <Line Number="27">using NLog;</Line>
        <Line Number="28" />
        <Line Number="29">namespace NinjaTurtles</Line>
        <Line Number="30">{</Line>
        <Line Number="31">    internal class MethodDefinitionResolver</Line>
        <Line Number="32">    {</Line>
        <Line Number="33">        #region Logging</Line>
        <Line Number="34" />
        <Line Number="35">        private static Logger _log = LogManager.GetCurrentClassLogger();</Line>
        <Line Number="36" />
        <Line Number="37">        #endregion</Line>
        <Line Number="38" />
        <Line Number="39">        public static MethodDefinition ResolveMethod(TypeDefinition typeDefinition, string methodName)</Line>
        <Line Number="40">        {</Line>
        <Line Number="41">            _log.Debug("Resolving method \"{0}\" in \"{1}\".", methodName, typeDefinition.FullName);</Line>
        <Line Number="42">            try</Line>
        <Line Number="43">            {</Line>
        <Line Number="44">                MethodDefinition methodDefinition = typeDefinition.Methods.Single(m =&gt; m.Name == methodName);</Line>
        <Line Number="45">                _log.Debug("Method \"{0}\" successfully resolved in \"{1}\".", methodName, typeDefinition.FullName);</Line>
        <Line Number="46">                return methodDefinition;</Line>
        <Line Number="47">            }</Line>
        <Line Number="48">            catch (InvalidOperationException ex)</Line>
        <Line Number="49">            {</Line>
        <Line Number="50">                if (ex.Message == "Sequence contains no matching element")</Line>
        <Line Number="51">                {</Line>
        <Line Number="52">                    _log.Error("Method \"{0}\" is unrecognised.", methodName);</Line>
        <Line Number="53">                    throw new ArgumentException(string.Format("Method \"{0}\" is unrecognised.", methodName), "methodName");</Line>
        <Line Number="54">                }</Line>
        <Line Number="55">                _log.Error("Method \"{0}\" is overloaded.", methodName);</Line>
        <Line Number="56">                throw new ArgumentException(string.Format("Method \"{0}\" is overloaded.", methodName), "methodName");</Line>
        <Line Number="57">            }</Line>
        <Line Number="58">        }</Line>
        <Line Number="59" />
        <Line Number="60">        public static MethodDefinition ResolveMethod(TypeDefinition typeDefinition, string methodName, Type[] parameterTypes)</Line>
        <Line Number="61">        {</Line>
        <Line Number="62">            if (parameterTypes == null)</Line>
        <Line Number="63">            {</Line>
        <Line Number="64">                _log.Warn("\"ResolveMethod\" overload with parameter types called unnecessarily.");</Line>
        <Line Number="65">                return ResolveMethod(typeDefinition, methodName);</Line>
        <Line Number="66">            }</Line>
        <Line Number="67">            try</Line>
        <Line Number="68">            {</Line>
        <Line Number="69">                MethodDefinition methodDefinition =</Line>
        <Line Number="70">                    typeDefinition.Methods.Single(</Line>
        <Line Number="71">                        m =&gt; m.Name == methodName</Line>
        <Line Number="72">                            &amp;&amp; Enumerable.SequenceEqual(</Line>
        <Line Number="73">                                m.Parameters.Select(p =&gt; p.ParameterType.Name.Replace("TypeDefinition", "Type")),</Line>
        <Line Number="74">                                parameterTypes.Select(p =&gt; p.Name)));</Line>
        <Line Number="75">                _log.Debug("Method \"{0}\" successfully resolved in \"{1}\".", methodName, typeDefinition.FullName);</Line>
        <Line Number="76">                return methodDefinition;</Line>
        <Line Number="77">            }</Line>
        <Line Number="78">            catch (InvalidOperationException)</Line>
        <Line Number="79">            {</Line>
        <Line Number="80">                _log.Error("Method \"{0}\" with specified parameter types is unrecognised.", methodName);</Line>
        <Line Number="81">                throw new ArgumentException(string.Format("Method \"{0}\" with specified parameter types is unrecognised.", methodName), "methodName");</Line>
        <Line Number="82">            }</Line>
        <Line Number="83">        }</Line>
        <Line Number="84">    }</Line>
        <Line Number="85">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\InstructionExtensions.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="111" StartColumn="13" EndLine="111" EndColumn="56">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Newobj, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="114" StartColumn="17" EndLine="114" EndColumn="55">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: deleting Ldarg, Callvirt, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001b: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: read substitution Instruction.instruction =&gt; Instruction.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0008: read substitution Instruction.instruction =&gt; Instruction.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001d: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="116" StartColumn="21" EndLine="116" EndColumn="51">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0022: deleting Ldloc, Ldarg, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0023: read substitution Instruction.instruction =&gt; Instruction.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0023: read substitution Instruction.instruction =&gt; Instruction.second</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="118" StartColumn="17" EndLine="118" EndColumn="48">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002b: deleting Ldarg, Callvirt, Starg</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002b: read substitution Instruction.instruction =&gt; Instruction.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002b: read substitution Instruction.instruction =&gt; Instruction.second</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="119" StartColumn="15" EndLine="119" EndColumn="80">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0034: deleting Ldarg, Brfalse, Ldarg, Callvirt, Ldnull, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: deleting Ldarg, Brfalse, Ldarg, Callvirt, Ldnull, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0047: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0047: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0047: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: read substitution Instruction.instruction =&gt; Instruction.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0034: read substitution Instruction.instruction =&gt; Instruction.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution Instruction.instruction =&gt; Instruction.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0037: read substitution Instruction.instruction =&gt; Instruction.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0045: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="120" StartColumn="13" EndLine="120" EndColumn="64">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0049: deleting Ldloc, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: deleting Ldloc, Ldsfld, Brtrue, Ldnull, Ldftn, Newobj, Stsfld, Br, Ldsfld, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0071: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0075: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0075: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0075: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0073: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="122" StartColumn="17" EndLine="122" EndColumn="30">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0078: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="124" StartColumn="13" EndLine="124" EndColumn="41">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>007f: deleting Ldloc, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007f: deleting Ldloc, Callvirt, Ldc_I4, Ceq, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008b: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008f: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008f: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008f: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>008d: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="126" StartColumn="17" EndLine="126" EndColumn="53">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0095: deleting Ldloc, Ldc_I4, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009c: write substitution Instruction.first =&gt; Instruction.second</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="127" StartColumn="17" EndLine="127" EndColumn="54">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009d: deleting Ldloc, Ldc_I4, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a4: write substitution Instruction.second =&gt; Instruction.first</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="128" StartColumn="17" EndLine="132" EndColumn="86">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>00a5: deleting Ldloc, Callvirt, Ldsfld, Call, Brfalse, Ldloc, Callvirt, Castclass, Callvirt, Brfalse, Ldloc, Callvirt, Ldsfld, Call, Brfalse, Ldloc, Callvirt, Ldsfld, Call, Brfalse, Ldloc, Callvirt, Castclass, Callvirt, Ldstr, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a5: deleting Ldloc, Callvirt, Ldsfld, Call, Brfalse, Ldloc, Callvirt, Castclass, Callvirt, Brfalse, Ldloc, Callvirt, Ldsfld, Call, Brfalse, Ldloc, Callvirt, Ldsfld, Call, Brfalse, Ldloc, Callvirt, Castclass, Callvirt, Ldstr, Call, Ldc_I4, Ceq, Br, Ldc_I4, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>010d: write substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b5: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b5: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b5: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c7: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c7: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c7: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d9: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d9: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00d9: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00eb: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00eb: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00eb: Brfalse =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0111: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0111: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0111: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a5: read substitution Instruction.first =&gt; Instruction.instruction</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00a5: read substitution Instruction.first =&gt; Instruction.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b7: read substitution Instruction.first =&gt; Instruction.instruction</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00b7: read substitution Instruction.first =&gt; Instruction.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c9: read substitution Instruction.first =&gt; Instruction.instruction</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00c9: read substitution Instruction.first =&gt; Instruction.second</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00db: read substitution Instruction.second =&gt; Instruction.instruction</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00db: read substitution Instruction.second =&gt; Instruction.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ed: read substitution Instruction.second =&gt; Instruction.instruction</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>00ed: read substitution Instruction.second =&gt; Instruction.first</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>010f: read substitution Boolean.CS$4$0001 =&gt; Boolean.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="134" StartColumn="21" EndLine="134" EndColumn="34">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0114: deleting Ldc_I4, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="137" StartColumn="13" EndLine="137" EndColumn="25">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>011a: write substitution Boolean.CS$1$0000 =&gt; Boolean.CS$4$0001</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="138" StartColumn="9" EndLine="138" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="35" StartColumn="13" EndLine="36" EndColumn="89">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0011: Brfalse =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0011: Brfalse =&gt; Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0011: Brfalse =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="37" StartColumn="9" EndLine="37" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Collections.Generic;</Line>
        <Line Number="24">using System.Linq;</Line>
        <Line Number="25" />
        <Line Number="26">using Mono.Cecil;</Line>
        <Line Number="27">using Mono.Cecil.Cil;</Line>
        <Line Number="28" />
        <Line Number="29">namespace NinjaTurtles</Line>
        <Line Number="30">{</Line>
        <Line Number="31">    internal static class InstructionExtensions</Line>
        <Line Number="32">    {</Line>
        <Line Number="33">        internal static  bool IsMeaninglessUnconditionalBranch(this Instruction instruction)</Line>
        <Line Number="34">        {</Line>
        <Line Number="35">            return instruction.OpCode == OpCodes.Br</Line>
        <Line Number="36">                &amp;&amp; ((Instruction)instruction.Operand).Offset == instruction.Next.Offset;</Line>
        <Line Number="37">        }</Line>
        <Line Number="38" />
        <Line Number="39">        internal static bool FollowsSequence(this Instruction instruction, params OpCode[] sequence)</Line>
        <Line Number="40">        {</Line>
        <Line Number="41">            if (instruction.OpCode != sequence[0]) return false;</Line>
        <Line Number="42">            if (sequence.Length == 1) return true;</Line>
        <Line Number="43">            var newSequence = new OpCode[sequence.Length - 1];</Line>
        <Line Number="44">            Array.Copy(sequence, 1, newSequence, 0, newSequence.Length);</Line>
        <Line Number="45">            return instruction.Next.FollowsSequence(newSequence);</Line>
        <Line Number="46">        }</Line>
        <Line Number="47" />
        <Line Number="48">        internal static bool IsPartOfSequence(this Instruction instruction, params OpCode[] sequence)</Line>
        <Line Number="49">        {</Line>
        <Line Number="50">            if (!sequence.Distinct().Contains(instruction.OpCode)) return false;</Line>
        <Line Number="51">            var startInstruction = instruction;</Line>
        <Line Number="52">            for (int i = 0; i &lt; sequence.Length; i++)</Line>
        <Line Number="53">            {</Line>
        <Line Number="54">                if (startInstruction == null) break;</Line>
        <Line Number="55">                if (startInstruction.FollowsSequence(sequence)) return true;</Line>
        <Line Number="56">                startInstruction = startInstruction.Previous;</Line>
        <Line Number="57">            }</Line>
        <Line Number="58">            return false;</Line>
        <Line Number="59">        }</Line>
        <Line Number="60" />
        <Line Number="61">        internal static bool IsPartOfCompilerGeneratedDispose(this Instruction instruction)</Line>
        <Line Number="62">        {</Line>
        <Line Number="63">            if (instruction.IsPartOfSequence(OpCodes.Leave,</Line>
        <Line Number="64">                OpCodes.Ldloc, OpCodes.Ldnull, OpCodes.Ceq,</Line>
        <Line Number="65">                OpCodes.Stloc, OpCodes.Ldloc, OpCodes.Brtrue,</Line>
        <Line Number="66">                OpCodes.Ldloc, OpCodes.Callvirt))</Line>
        <Line Number="67">            {</Line>
        <Line Number="68">                while (instruction.OpCode != OpCodes.Callvirt)</Line>
        <Line Number="69">                {</Line>
        <Line Number="70">                    instruction = instruction.Next;</Line>
        <Line Number="71">                }</Line>
        <Line Number="72">                var method = ((MethodReference)instruction.Operand);</Line>
        <Line Number="73">                return method.Name == "Dispose";</Line>
        <Line Number="74">            }</Line>
        <Line Number="75">            if (instruction.IsPartOfSequence(OpCodes.Leave,</Line>
        <Line Number="76">                OpCodes.Ldloc, OpCodes.Ldnull, OpCodes.Ceq,</Line>
        <Line Number="77">                OpCodes.Brtrue,</Line>
        <Line Number="78">                OpCodes.Ldloc, OpCodes.Callvirt))</Line>
        <Line Number="79">            {</Line>
        <Line Number="80">                while (instruction.OpCode != OpCodes.Callvirt)</Line>
        <Line Number="81">                {</Line>
        <Line Number="82">                    instruction = instruction.Next;</Line>
        <Line Number="83">                }</Line>
        <Line Number="84">                var method = ((MethodReference)instruction.Operand);</Line>
        <Line Number="85">                return method.Name == "Dispose";</Line>
        <Line Number="86">            }</Line>
        <Line Number="87">            if (instruction.IsPartOfSequence(OpCodes.Nop, OpCodes.Ldc_I4, OpCodes.Stloc,</Line>
        <Line Number="88">                OpCodes.Leave, OpCodes.Ldarg, OpCodes.Call,</Line>
        <Line Number="89">                OpCodes.Nop, OpCodes.Endfinally))</Line>
        <Line Number="90">            {</Line>
        <Line Number="91">                if (instruction.OpCode == OpCodes.Endfinally)</Line>
        <Line Number="92">                {</Line>
        <Line Number="93">                    instruction = instruction.Previous;</Line>
        <Line Number="94">                }</Line>
        <Line Number="95">                if (instruction.Next.OpCode == OpCodes.Endfinally)</Line>
        <Line Number="96">                {</Line>
        <Line Number="97">                    instruction = instruction.Previous;</Line>
        <Line Number="98">                }</Line>
        <Line Number="99">                while (instruction.OpCode != OpCodes.Call)</Line>
        <Line Number="100">                {</Line>
        <Line Number="101">                    instruction = instruction.Next;</Line>
        <Line Number="102">                }</Line>
        <Line Number="103">                var method = ((MethodReference)instruction.Operand);</Line>
        <Line Number="104">                return method.Name == "Dispose" || method.Name == "System.IDisposable.Dispose";</Line>
        <Line Number="105">            }</Line>
        <Line Number="106">            return false;</Line>
        <Line Number="107">        }</Line>
        <Line Number="108" />
        <Line Number="109">        internal static bool ShouldReportSequencePoint(this Instruction instruction)</Line>
        <Line Number="110">        {</Line>
        <Line Number="111">            var instructions = new List&lt;Instruction&gt;();</Line>
        <Line Number="112">            do</Line>
        <Line Number="113">            {</Line>
        <Line Number="114">                if (instruction.OpCode != OpCodes.Nop)</Line>
        <Line Number="115">                {</Line>
        <Line Number="116">                    instructions.Add(instruction);</Line>
        <Line Number="117">                }</Line>
        <Line Number="118">                instruction = instruction.Next;</Line>
        <Line Number="119">            } while (instruction != null &amp;&amp; instruction.SequencePoint == null);</Line>
        <Line Number="120">            if (instructions.All(i =&gt; i.OpCode == OpCodes.Ret))</Line>
        <Line Number="121">            {</Line>
        <Line Number="122">                return false;</Line>
        <Line Number="123">            }</Line>
        <Line Number="124">            if (instructions.Count == 2)</Line>
        <Line Number="125">            {</Line>
        <Line Number="126">                Instruction first = instructions[0];</Line>
        <Line Number="127">                Instruction second = instructions[1];</Line>
        <Line Number="128">                if (((first.OpCode == OpCodes.Ldarg</Line>
        <Line Number="129">                    &amp;&amp; ((ParameterDefinition)first.Operand).Sequence == 0 )</Line>
        <Line Number="130">                    || first.OpCode == OpCodes.Ldarg_0)</Line>
        <Line Number="131">                    &amp;&amp; second.OpCode == OpCodes.Call</Line>
        <Line Number="132">                    &amp;&amp; ((MethodReference)second.Operand).Name == Methods.CONSTRUCTOR)</Line>
        <Line Number="133">                {</Line>
        <Line Number="134">                    return false;</Line>
        <Line Number="135">                }</Line>
        <Line Number="136">            }</Line>
        <Line Number="137">            return true;</Line>
        <Line Number="138">        }</Line>
        <Line Number="139">    }</Line>
        <Line Number="140">}</Line>
      </Lines>
    </SourceFile>
    <SourceFile>
      <Url>C:\Working\hg\ninjaturtles\NinjaTurtles\ConsoleProcessFactory.cs</Url>
      <SequencePoints>
        <SequencePoint StartLine="87" StartColumn="13" EndLine="87" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Newobj, Stloc</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="88" StartColumn="13" EndLine="88" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0007: deleting Ldloc, Ldarg, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="89" StartColumn="13" EndLine="89" EndColumn="103">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000f: deleting Ldstr, Call, Dup, Brtrue, Pop, Ldsfld, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0022: write substitution String.environmentSearchPath =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0022: write substitution String.environmentSearchPath =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0022: write substitution String.environmentSearchPath =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001a: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001a: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001a: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="90" StartColumn="13" EndLine="90" EndColumn="85">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0023: deleting Ldloc, Ldloc, Ldc_I4, Newarr, Stloc, Ldloc, Ldc_I4, Call, Brtrue, Ldc_I4, Br, Ldc_I4, Stelem_I2, Ldloc, Callvirt, Callvirt, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0035: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution String.environmentSearchPath =&gt; String.exeName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution String.environmentSearchPath =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution String.environmentSearchPath =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0024: read substitution String.environmentSearchPath =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="92" StartColumn="39" EndLine="92" EndColumn="49">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>004c: deleting Ldloc, Callvirt, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>004c: deleting Ldloc, Callvirt, Stloc, Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="92" StartColumn="22" EndLine="92" EndColumn="35">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0056: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005d: write substitution String.folder =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005d: write substitution String.folder =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005d: write substitution String.folder =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="94" StartColumn="17" EndLine="94" EndColumn="68">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>005f: deleting Ldloc, Ldarg, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution String.fullExePath =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution String.fullExePath =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0066: write substitution String.fullExePath =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005f: read substitution String.folder =&gt; String.exeName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005f: read substitution String.folder =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005f: read substitution String.folder =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>005f: read substitution String.folder =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0060: read substitution String.exeName =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0060: read substitution String.exeName =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0060: read substitution String.exeName =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0060: read substitution String.exeName =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="95" StartColumn="17" EndLine="95" EndColumn="46">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0067: deleting Ldloc, Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0067: deleting Ldloc, Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0074: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0074: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0074: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0067: read substitution String.fullExePath =&gt; String.exeName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0067: read substitution String.fullExePath =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0067: read substitution String.fullExePath =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0067: read substitution String.fullExePath =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="97" StartColumn="21" EndLine="97" EndColumn="40">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0077: deleting Ldloc, Stloc, Leave</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0078: write substitution String.CS$1$0000 =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0078: write substitution String.CS$1$0000 =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0078: write substitution String.CS$1$0000 =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0077: read substitution String.fullExePath =&gt; String.exeName</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0077: read substitution String.fullExePath =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0077: read substitution String.fullExePath =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0077: read substitution String.fullExePath =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="92" StartColumn="36" EndLine="92" EndColumn="38">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>007d: deleting Ldloca, Call, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007d: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>007d: deleting Ldloca, Call, Stloc, Ldloc, Brtrue, Leave, Ldloca, Constrained, Callvirt, Nop, Endfinally, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0088: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0088: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0088: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="100" StartColumn="13" EndLine="100" EndColumn="28">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>009c: deleting Ldarg, Stloc, Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009c: deleting Ldarg, Stloc, Br, Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009d: write substitution String.CS$1$0000 =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009d: write substitution String.CS$1$0000 =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009d: write substitution String.CS$1$0000 =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009c: read substitution String.exeName =&gt; String.environmentSearchPath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009c: read substitution String.exeName =&gt; String.folder</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009c: read substitution String.exeName =&gt; String.fullExePath</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>009c: read substitution String.exeName =&gt; String.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="16707566" StartColumn="0" EndLine="16707566" EndColumn="0">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="101" StartColumn="9" EndLine="101" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
        <SequencePoint StartLine="64" StartColumn="13" EndLine="64" EndColumn="74">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0001: deleting Ldarg, Ldarg, Call, Starg</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0001: read substitution String.exeName =&gt; String.arguments</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="66" StartColumn="13" EndLine="66" EndColumn="24">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>000a: deleting Call, Ldc_I4, Ceq, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>000a: deleting Call, Ldc_I4, Ceq, Stloc, Ldloc, Brtrue</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0014: Brtrue =&gt; Br</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="68" StartColumn="17" EndLine="68" EndColumn="93">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0017: deleting Ldstr, Ldarg, Ldarg, Call, Starg</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001c: read substitution String.exeName =&gt; String.arguments</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>001d: read substitution String.arguments =&gt; String.exeName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="69" StartColumn="17" EndLine="69" EndColumn="34">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0025: deleting Ldstr, Starg</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="72" StartColumn="13" EndLine="72" EndColumn="73">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>002d: deleting Ldarg, Call, Brtrue, Ldstr, Br, Ldstr, Call, Starg</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0033: Brtrue =&gt; Nop</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0033: Brtrue =&gt; Brfalse</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0033: Brtrue =&gt; Br</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>002d: read substitution String.arguments =&gt; String.exeName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="74" StartColumn="13" EndLine="74" EndColumn="77">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0048: deleting Ldarg, Ldarg, Newobj, Stloc</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0048: read substitution String.exeName =&gt; String.arguments</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0049: read substitution String.arguments =&gt; String.exeName</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="76" StartColumn="13" EndLine="76" EndColumn="52">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0058: deleting Ldloc, Ldc_I4, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="75" StartColumn="13" EndLine="75" EndColumn="54">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0050: deleting Ldloc, Ldc_I4, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="77" StartColumn="13" EndLine="77" EndColumn="60">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>0060: deleting Ldloc, Ldc_I4, Callvirt, Nop</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="79" StartColumn="13" EndLine="82" EndColumn="15">
          <AppliedMutants>
            <AppliedMutant Killed="true">
              <Description>006d: write substitution Process.&lt;&gt;g__initLocal0 =&gt; Process.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0077: write substitution Process.CS$1$0000 =&gt; Process.&lt;&gt;g__initLocal0</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>006e: read substitution Process.&lt;&gt;g__initLocal0 =&gt; Process.CS$1$0000</Description>
            </AppliedMutant>
            <AppliedMutant Killed="true">
              <Description>0076: read substitution Process.&lt;&gt;g__initLocal0 =&gt; Process.CS$1$0000</Description>
            </AppliedMutant>
          </AppliedMutants>
        </SequencePoint>
        <SequencePoint StartLine="83" StartColumn="9" EndLine="83" EndColumn="10">
          <AppliedMutants />
        </SequencePoint>
      </SequencePoints>
      <Lines>
        <Line Number="1">#region Copyright &amp; licence</Line>
        <Line Number="2" />
        <Line Number="3">// This file is part of NinjaTurtles.</Line>
        <Line Number="4">// </Line>
        <Line Number="5">// NinjaTurtles is free software: you can redistribute it and/or modify</Line>
        <Line Number="6">// it under the terms of the GNU Lesser General Public License as</Line>
        <Line Number="7">// published by the Free Software Foundation, either version 3 of the</Line>
        <Line Number="8">// License, or (at your option) any later version.</Line>
        <Line Number="9">// </Line>
        <Line Number="10">// NinjaTurtles is distributed in the hope that it will be useful,</Line>
        <Line Number="11">// but WITHOUT ANY WARRANTY; without even the implied warranty of</Line>
        <Line Number="12">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</Line>
        <Line Number="13">// GNU Lesser General Public License for more details.</Line>
        <Line Number="14">// </Line>
        <Line Number="15">// You should have received a copy of the GNU Lesser General Public</Line>
        <Line Number="16">// License along with NinjaTurtles.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</Line>
        <Line Number="17">// </Line>
        <Line Number="18">// Copyright (C) 2012 David Musgrove and others.</Line>
        <Line Number="19" />
        <Line Number="20">#endregion</Line>
        <Line Number="21" />
        <Line Number="22">using System;</Line>
        <Line Number="23">using System.Collections.Generic;</Line>
        <Line Number="24">using System.Diagnostics;</Line>
        <Line Number="25">using System.IO;</Line>
        <Line Number="26" />
        <Line Number="27">namespace NinjaTurtles</Line>
        <Line Number="28">{</Line>
        <Line Number="29">    /// &lt;summary&gt;</Line>
        <Line Number="30">    /// A factory class used to instatiate a &lt;see cref="Process" /&gt; instance,</Line>
        <Line Number="31">    /// taking into account the operating system and runtime.</Line>
        <Line Number="32">    /// &lt;/summary&gt;</Line>
        <Line Number="33">    public static class ConsoleProcessFactory</Line>
        <Line Number="34">    {</Line>
        <Line Number="35">        internal static bool IsMono { get; set; }</Line>
        <Line Number="36">        internal static bool IsWindows { get; set; }</Line>
        <Line Number="37" />
        <Line Number="38">        static ConsoleProcessFactory()</Line>
        <Line Number="39">        {</Line>
        <Line Number="40">            IsMono = Type.GetType("Mono.Runtime") != null;</Line>
        <Line Number="41">            IsWindows = Environment.OSVersion.Platform.ToString().StartsWith("Win")</Line>
        <Line Number="42">                        || Environment.OSVersion.Platform == PlatformID.Xbox;</Line>
        <Line Number="43">        }</Line>
        <Line Number="44" />
        <Line Number="45">        /// &lt;summary&gt;</Line>
        <Line Number="46">        /// Creates a &lt;see cref="Process" /&gt; instance used to execute the</Line>
        <Line Number="47">        /// executable identifier by the &lt;paramref name="exeName"/&gt;</Line>
        <Line Number="48">        /// parameter, with the &lt;paramref name="arguments"/&gt; specified.</Line>
        <Line Number="49">        /// &lt;/summary&gt;</Line>
        <Line Number="50">        /// &lt;param name="exeName"&gt;</Line>
        <Line Number="51">        /// The name (and path) of the executable to run.</Line>
        <Line Number="52">        /// &lt;/param&gt;</Line>
        <Line Number="53">        /// &lt;param name="arguments"&gt;</Line>
        <Line Number="54">        /// The command line arguments to pass to the executable.</Line>
        <Line Number="55">        /// &lt;/param&gt;</Line>
        <Line Number="56">        /// &lt;param name="additionalSearchLocations"&gt;</Line>
        <Line Number="57">        /// An optional list of additional search paths.</Line>
        <Line Number="58">        /// &lt;/param&gt;</Line>
        <Line Number="59">        /// &lt;returns&gt;</Line>
        <Line Number="60">        /// An instance of &lt;see cref="Process" /&gt;.</Line>
        <Line Number="61">        /// &lt;/returns&gt;</Line>
        <Line Number="62">        public static Process CreateProcess(string exeName, string arguments, params string[] additionalSearchLocations)</Line>
        <Line Number="63">        {</Line>
        <Line Number="64">            exeName = FindExecutable(exeName, additionalSearchLocations);</Line>
        <Line Number="65" />
        <Line Number="66">            if (IsMono)</Line>
        <Line Number="67">            {</Line>
        <Line Number="68">                arguments = string.Format("--runtime=v4.0 \"{0}\" {1}", exeName, arguments);</Line>
        <Line Number="69">                exeName = "mono";</Line>
        <Line Number="70">            }</Line>
        <Line Number="71" />
        <Line Number="72">            arguments = string.Format(arguments, IsWindows ? "/" : "-");</Line>
        <Line Number="73" />
        <Line Number="74">            var processStartInfo = new ProcessStartInfo(exeName, arguments);</Line>
        <Line Number="75">            processStartInfo.UseShellExecute = false;</Line>
        <Line Number="76">            processStartInfo.CreateNoWindow = true;</Line>
        <Line Number="77">            processStartInfo.RedirectStandardOutput = true;</Line>
        <Line Number="78" />
        <Line Number="79">            return new Process</Line>
        <Line Number="80">            {</Line>
        <Line Number="81">                StartInfo = processStartInfo</Line>
        <Line Number="82">            };</Line>
        <Line Number="83">        }</Line>
        <Line Number="84" />
        <Line Number="85">        private static string FindExecutable(string exeName, string[] additionalSearchLocations)</Line>
        <Line Number="86">        {</Line>
        <Line Number="87">            var searchPath = new List&lt;string&gt;();</Line>
        <Line Number="88">            searchPath.AddRange(additionalSearchLocations);</Line>
        <Line Number="89">            string environmentSearchPath = Environment.GetEnvironmentVariable("PATH") ?? string.Empty;</Line>
        <Line Number="90">            searchPath.AddRange(environmentSearchPath.Split(IsWindows ? ';' : ':'));</Line>
        <Line Number="91" />
        <Line Number="92">            foreach (string folder in searchPath)</Line>
        <Line Number="93">            {</Line>
        <Line Number="94">                string fullExePath = Path.Combine(folder, exeName);</Line>
        <Line Number="95">                if (File.Exists(fullExePath))</Line>
        <Line Number="96">                {</Line>
        <Line Number="97">                    return fullExePath;</Line>
        <Line Number="98">                }</Line>
        <Line Number="99">            }</Line>
        <Line Number="100">            return exeName;</Line>
        <Line Number="101">        }</Line>
        <Line Number="102">    }</Line>
        <Line Number="103">}</Line>
      </Lines>
    </SourceFile>
  </SourceFiles>
</MutationTestingReport>